2013-05-03 2 views
0

Это действительно меня смущает. Я выполнил все примеры добавления аутентификации к конечным точкам, перечисленным here. К сожалению, всякий раз, когда я развертываю это в приложении, я получаю ошибку 404, не найденную при попытке загрузить API oauth с помощью строки:Локальные точки приложения Google App Engine: OAuth2 не работает. Не удается загрузить api

gapi.client.load ('oauth2', 'v2', loadcallback) ;

Я просто получаю ошибку Javascript с сообщением: * Не удалось загрузить ресурс: сервер ответил со статусом 404 (не найден) *

Я не могу это исправить, и Я не могу позвонить gapi.client.oauth2.userinfo.get(); Однако

gapi.auth.authorize

работает отлично. Любые идеи? Авторизация работает корректно с Android.

Благодаря

ответ

3

Ничего себе, это мне потребовалось много времени, чтобы найти, но было что-то глупо. Я собираюсь оставить ответ здесь, если у кого-то есть аналогичная проблема.

Проблема возникла из-за использования подключаемого модуля подключаемого андроида, подключенного к программе App Engine. Это начинается без Auth, затем вы следуете инструкциям, чтобы добавить Auth, как указано выше.

Проблема в том, что в созданном файле index.html под строкой <script src="https://apis.google.com/js/client.js?onload=loadGapi"> есть спецификации, которые заставляют gapi.client.load использовать ваш домен. Удалите этот код (все, что в фигурных скобках), так это выглядит так же, как:

<script src="https://apis.google.com/js/client.js?onload=loadGapi"> 
</script> 

Однако, в настоящее время ни один из ранее работающих вызовов не gapi.client.load для конечных точек API, будут работать. Чтобы это исправить, необходимо указать, они должны использовать свой адрес следующим образом:

gapi.client.load('deviceinfoendpoint', 'v1', loadcallback, API_URL);

Здесь API_URL является 'HTTP: //' + window.location.host + '/ _ah/апи';

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