2015-03-26 3 views
0

У меня есть веб-приложение, размещенное на IIS 7, которое делает Http-вызовы с помощью API Google Fit API, я могу успешно отправлять POST и получать токен доступа, после чего я делаю GET для следующих URI:Ошибка Google Fit Api 403 от удаленного клиента

«https://www.googleapis.com/fitness/v1/users/me/dataSources/raw:com.google.weight:com.google.android.apps.fitness:user_input/datasets/00-1427209862000000000»

Вот как я построить запрос и посмотреть на ответ:

 request = (HttpWebRequest)WebRequest.Create(uri); 
     request.Method = "GET"; 
     request.ContentLength = 0; 
     request.Accept = "application/json"; 
     request.Headers.Add("Authorization", "Bearer " + dict["access_token"]); 
     response = (HttpWebResponse)request.GetResponse(); 
     respStream = response.GetResponseStream(); 
     sResponse = new StreamReader(respStream).ReadToEnd(); 
     respStream.Close(); 
     Response.Write(sResponse); 

Когда я запускаю это приложение в браузере на хост-сервере, Я успешно получаю json-объект (это не json, которого я ожидаю, но это ano ther issue). Однако, когда я пытаюсь получить доступ к сайту на удаленном клиенте, я получаю ошибку 403, указывающую на то, когда я пытаюсь получить ответ. Есть идеи?

ответ

0

Обновление: Это, оказалось, проблема с разрешениями. Я пытался получить доступ к источнику данных, в котором у меня не было областей, тот факт, что он не возвращал 403, когда доступ к хосту отбросил меня с тропы. Все еще странно, что он не возвращал 403 (он просто возвращал пустой объект json), когда его запрашивали на хост-сервере, хотя ... если вы видите это и имеете представление, почему, не стесняйтесь комментировать. Мне любопытно.

0

Возможно, это зависит от того, как вы получили значение access_token.

Как долго после получения токена доступа вы делаете этот запрос? Он действует только в течение часа, поэтому вам может понадобиться извлечь новый, используя токен обновления.

Там еще некоторые ресурсы доступа/токенов обновления этого вопроса:

Google OAuth2 Refresh_token expires when Access_token does

+0

Ах, извините, я забыл обновить это. Фактически это была проблема с разрешениями, которую я забыл. Спасибо за ваш ответ! – rickkr

Смежные вопросы