2013-10-28 2 views
0

Я попытался запустить образец, указанный here на моем веб-сервере, который является сервером Google App Engine.Клиентская библиотека Google API в javascript не работает локально

Я изменил clientId и apiKey с clientId и clientSecret с моей облачной консоли Google.

Когда я бегу, я вижу в консоли JavaScript в 400 Bad Request для

https://content.googleapis.com/discovery/v1/apis/plus/v1/rpc?fields=methods%2F *% 2Fid & рр = 0 & ключ = TO6faADFEmHdfdh08mm8XgR

Пожалуйста, руководство меня.

ответ

1

Насколько я могу сказать, образец работает на сервере вы связаны между собой. Как отметил Ян, образец, который вы используете, выглядит немного устаревшим, JavaScript Quickstart является самым последним и самым большим и использует кнопку входа в Google+, которая имеет ряд улучшений, особенно когда вы используете авторизацию на стороне клиента.

Чтобы проверить, что ваш пример работает, вы можете открыть инструменты разработчика Chrome и запустить простой код клиентской библиотеки, такие как:

gapi.client.plus.activities.list(
    {userId: 'me'}).execute(
    function(resp){ 
     console.log(resp); 
    }); 

Если вы видите свою деятельность канала, все работает.

Что касается локально ... Для того, чтобы библиотеки JavaScript на работу, вы должны также быть запущен веб-сервер на вашем компьютере, таких как Python Простой HTTP Server:

python -m SimpleHTTPServer 8000 

или Apache, twistd и т.д. .

Если вы открываете файл напрямую, разрешения будут препятствовать работе библиотеки.

Ваше авторизованное происхождение JavaScript должно также соответствовать порту (и протоколу, например https/http), которые настроены в вашем проекте Google APIs console. Если он работает удаленно, но не локально, возможно, вам не хватает источника localhost.

+0

Под «локально» я имею в виду на локальном сервере. Я использовал GAE. И это не сработало – John

+0

Добавлена ​​еще одна вещь ... – class

1

Это довольно старый образец! Попробуйте https://developers.google.com/+/quickstart/javascript для более новой версии.

Что касается этой проблемы: не ставьте своего клиента в ключевое поле! Секрет клиента никогда не должен публиковаться, его следует использовать только на сервере, где он может оставаться конфиденциальным. Ключ API в этом случае представляет собой отдельную запись (простой ключ доступа к API-интерфейсу).

Подробнее о ключах API: https://developers.google.com/console/help/#generatingdevkeys

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