При попытке использовать AuthSub со здоровьем Google произошла ошибка «Область была плохой или отсутствует»?

1

Я пытаюсь использовать AuthSub для запроса токена из Google. В нем говорится, что объем был плохим или отсутствующим. Я дважды проверял, и область выглядит хорошо для меня. Я попытался заменить область календарю, и я не получаю эту ошибку.

Здесь фрагмент кода

next = 'http://localhost:8080/auth'
# h9 scope for development
#scope = 'https://www.google.com/health/feeds/'
scope = 'https://www.google.com/calendar/feeds/'
#scope = 'https://www.google.com/h9/feeds/'
url_format = 'https://www.google.com/accounts/AuthSubRequest?next=%s&scope=%s&secure=%d&session=%d'
auth_sub_url = url_format % (next, scope, 0, 1)
#auth_sub_url = service.GenerateAuthSubURL(next, scope, secure = secure, session = session)
self.response.out.write('<a href="%s">Authorize Access to Your Google Health Account</a>' % auth_sub_url)
  • 0
    Работает для меня. Когда я перехожу по URL, который создает ваш код, я получаю страницу Google, спрашивающую, какую учетную запись использовать, и затем говорит: "Локальный хост сайта запрашивает доступ к вашей учетной записи Google для продуктов, перечисленных ниже. Календарь Google"
  • 0
    Ах, я вижу, что вы использовали Календарь просто как тест на разумность. Я проверю, что происходит со здоровьем. Да "параметр области был плох или отсутствует".
Теги:
authentication
google-app-engine
gdata-api
authsub

1 ответ

1
Лучший ответ

Я не знаком с Google Health, но сделал некоторые действия в Google и вам нужно сначала зарегистрировать свой сайт:

https://services.google.com/fb/forms/googhealthdevelopers/

Чтобы пройти эту регистрацию, требуется неделя. Тем временем вы можете протестировать против песочницы H9 с URL-адресом вроде:

https://h9.google.com/h9/authsub?next=http://localhost:8080/auth&scope=https://www.google.com/health/feeds/&secure=0&session=1

Таким образом, очевидно, если вы попытаетесь использовать Google Health через https://www.google.com/accounts/AuthSubRequest, прежде чем регистрировать свой сайт, вы получите это сообщение об ошибке. Как вы должны протестировать локальный хост, если вам сначала нужно зарегистрировать свой сайт, я понятия не имею.

  • 0
    Спасибо, ваша ссылка указывает, что для песочницы h9 страница - / authsub, а не песочница - / AuthSubRequest. Кроме того, URL-адрес аутентификации имеет h9 вместо www в качестве поддомена, в то время как область все еще использует www. Еще раз спасибо большое!
  • 0
    Если вы не возражаете, пожалуйста, отредактируйте ваш ответ, чтобы заменить «www» на «h9» в поддомене для вашего примера URL

Ещё вопросы

Сообщество Overcoder
Наверх
Меню