PHP CURL Календарь Google, используя частный URL - PullRequest
1 голос
/ 29 апреля 2010

Я пытаюсь получить массив событий из Календаря Google, используя частный URL. Я прочитал документ API Google, но хочу попробовать сделать это без использования библиотеки ZEND, поскольку я понятия не имею, какова возможная файловая структура сервера, и избегаю, чтобы другие люди редактировали коды.

Я также выполнил поиск перед публикацией и столкнулся с тем же условием, когда PHP CURL_EXEC возвращает false с URL, но я получаю файл JSON, если URL открыт с помощью веб-браузера. Поскольку я использую частный URL, действительно ли мне нужно проходить аутентификацию на сервере Google с помощью ZEND? Я пытаюсь заставить PHP очистить массив перед тем, как кодировать его для Flash.

<code>$URL = <string of the private URL from Google Calendar>
$ch = curl_init($URL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$data = curl_exec($ch);
curl_close($ch);

$result = json_decode($data);

print '<pre>'.var_export($data,1).'
'; Вывод экрана >>> false

1 Ответ

2 голосов
/ 29 апреля 2010

Вы можете "свернуть" свою реализацию AuthSub или oAuth:

Следующее суммировано из: http://code.google.com/apis/calendar/data/2.0/developers_guide_protocol.html#Auth

Чтобы получить токен AuthSub для данный пользователь, ваше приложение должно перенаправить пользователя на URL AuthSubRequest, который их запрашивает войти в свою учетную запись Google. URL AuthSubRequest может выглядеть так это:

https://www.google.com/accounts/AuthSubRequest?scope=http%3A%2F%2Fwww.google.com%2fcalendar%2Ffeeds%2F&session=1&secure=0&next=http%3A%2F%2Fwww.coolcalendarsite.com%2Fwelcome.html

Тогда сделай это ...

GET /accounts/AuthSubSessionToken HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Authorization: AuthSub token="yourAuthToken"
User-Agent: Java/1.5.0_06
Host: https://www.google.com
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive

Тогда сделай это ...

GET /calendar/feeds/default/private/full HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Authorization: AuthSub token="yourSessionToken"
User-Agent: Java/1.5.0_06
Host: www.google.com
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive

Больше документов об AuthSub:

http://code.google.com/apis/accounts/docs/AuthSub.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...