2014-04-25 4 views
0

Мне нужно использовать API календаря Google для получения четных данных из моего календаря.Проблема API Календаря Google?

Я создал свое приложение и создал свой API-интерфейс сервера. Я ввел свой IP-адрес (так как я запускаю на своем тестовом сервере).

После этого я создал свой простой PHP-файл, который использует Curl для запроса данных с серверов Google. Файл выглядит следующим образом:

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch,CURLOPT_URL,"https://www.googleapis.com/calendar/v3/calendars/[email protected]/events?maxResults=15&key={My Key}"); 
$result=curl_exec($ch); 
echo $result; 

Однако, когда это выполняется, я получаю этот JSON (Error):

{ 
"error": { 
    "errors": [ 
    { 
    "domain": "usageLimits", 
    "reason": "accessNotConfigured", 
    "message": "Access Not Configured. Please use Google Developers Console to activate the API for your project." 
    } 
    ], 
    "code": 403, 
    "message": "Access Not Configured. Please use Google Developers Console to activate the API for your project." 
} 
} 

Я даже вошел в URL в браузере и получил данные. Через пару часов возиться с ним, мой браузер возвращает то же сообщение об ошибке? Я что-то пропустил, или это просто ошибка?

Вот что API Консоль дает мне (Это доказывает, когда я сказал, что работал в браузере, а не через Curl)

enter image description here

+0

Вы сделали этот календарь общедоступным? Согласно [this] (https://developers.google.com/console/help/new/#usingkeys) (и вы используете только API-ключ), только общедоступная информация может быть восстановлена ​​с помощью (только) API- ключ. В противном случае вам необходимо использовать OAuth 2.0. Причина, по которой она работала временно в браузере, может заключаться в том, что у вас установлен файл cookie для входа в систему. Для частных календарей вам необходимо использовать OAuth 2.0 (или вам нужно сделать свой календарь открытым). – Rik

+0

@Rik Да, это публично. Мне удалось получить фид из старой версии. =, Но мне нужен этот новый для работы. –

+0

Полагаю, вы проверили, что [email protected] действительно является «Идентификатором календаря» вашего общедоступного календаря? Не могли бы вы попытаться воссоздать «ключ API сервера» без ввода «Разрешенного IP»? (Вы использовали свой внешний или внутренний IP-адрес? Оба не работали для меня. Опущение IP-кода работало для меня, но не очень безопасно, но это начало :) – Rik

ответ

0

После ожидания двух дней ответы API начали работать. Это меня очень смущает, и я действительно ожидал от Google более профессионального API. Я продолжу следить за этим вопросом, пока кто-то не опубликует реальное решение этой проблемы. Благодарю.

0

1) Перейти к Google Developers Console.
2) Выберите проект.
3) На боковой панели слева выберите API & auth. В списке API убедитесь, что статус включен для API календаря Google.

+0

Он включен. Я также ввел правильные IP-адреса для сервера. Идем, что может быть неправильно. –

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