PHP CURL Календарь Google с использованием частного URL

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

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

$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).'</pre>';
Screen output >>> false

person MooCow    schedule 29.04.2010    source источник


Ответы (1)


Вы можете «свернуть свою собственную» реализацию 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

person Robert    schedule 29.04.2010