2015-04-08 5 views
1

Я обновляю проект, который запрашивает YouTube, и я ищу привязки к API-интерфейсам v3 API или хороший пример того, как это сделать с помощью HttpWebRequest.API-интерфейс API v3 для v3

Вот что я пытался до сих пор (что дает 400 Bad Request):

string responseText; 
string requestURL = "https://www.googleapis.com/youtube/v3/channels?key=" + googleClientID + 
     "&part=contentDetails&mine=true"; 
Uri uri = new Uri(requestURL); 

HttpWebRequest request = new HttpWebRequest(uri); 
request.Method="GET/POST"; 

request.Headers.Add(HttpRequestHeader.Authorization, "Bearer "+GetPref("googlecredentials")); 
request.ContentType = "application/json"; 

HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 

ответ

0

Я не думаю, что вы можете указать "GET/POST". Вы должны выбрать тот или другой, GET или POST. Это определенно вызовет 400 Bad Request.

Кроме того, вы пробовали посмотреть полный запрос, который создается вашим кодом? Используйте Fiddler или Charles (для OS X) или WireShark, чтобы проверить полный необработанный запрос. Строка, в которой вы конкатенируете "Bearer" и GetPref("googlecredentials") МОЖЕТ быть проблематичной, но я не уверен. Это похоже на то, что результирующая строка может быть неустойчивой. Итак, вы можете проверить его в полном необработанном запросе, чтобы убедиться.

+0

Да, я выяснил, что такое Get/Post. Если я использую GET, возвращается 400 Bad Request - POST возвращает 401 Unauthorized, так что, вероятно, это правильный путь. Теперь, чтобы выяснить, как получить авторизованный ... – Rick

+0

Вы уже пробовали проверить ваш необработанный запрос? По-видимому, вы также можете передать ACCESS_TOKEN в качестве параметра строки запроса вместо заголовка: ... & access_token = ACCESS_TOKEN (из документов: https://developers.google.com/youtube/v3/guides/authentication) – NovaJoe