Мне нужно использовать 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)
Вы сделали этот календарь общедоступным? Согласно [this] (https://developers.google.com/console/help/new/#usingkeys) (и вы используете только API-ключ), только общедоступная информация может быть восстановлена с помощью (только) API- ключ. В противном случае вам необходимо использовать OAuth 2.0. Причина, по которой она работала временно в браузере, может заключаться в том, что у вас установлен файл cookie для входа в систему. Для частных календарей вам необходимо использовать OAuth 2.0 (или вам нужно сделать свой календарь открытым). – Rik
@Rik Да, это публично. Мне удалось получить фид из старой версии. =, Но мне нужен этот новый для работы. –
Полагаю, вы проверили, что [email protected] действительно является «Идентификатором календаря» вашего общедоступного календаря? Не могли бы вы попытаться воссоздать «ключ API сервера» без ввода «Разрешенного IP»? (Вы использовали свой внешний или внутренний IP-адрес? Оба не работали для меня. Опущение IP-кода работало для меня, но не очень безопасно, но это начало :) – Rik