2010-04-29 4 views
1

J'essaie d'obtenir un tableau d'événements de Google Agenda en utilisant l'URL privée. J'ai lu le document de l'API Google, mais je veux essayer de le faire sans utiliser la bibliothèque ZEND car je n'ai aucune idée de la structure du fichier serveur et éviter que d'autres personnes modifient les codes.PHP CURL Google Agenda en utilisant l'URL privée

J'ai également fait une recherche avant de poster et j'ai couru dans la même condition où PHP CURL_EXEC renvoie false avec l'URL mais je reçois un fichier JSON si l'URL est ouverte en utilisant un navigateur web. Puisque j'utilise l'URL privée, ai-je vraiment besoin de m'authentifier auprès du serveur de Google en utilisant ZEND? J'essaie d'avoir PHP nettoyer le tableau avant de l'encoder pour 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 

Répondre

2

Vous pouvez "rouler votre propre" AuthSub ou la mise en œuvre oAuth:

Ce qui suit est un résumé des dispositions:

Pour acquérir un jeton AuthSub pour un utilisateur donné , votre application doit rediriger l'utilisateur vers l'URL AuthSubRequest , qui lui demande de se connecter à son compte Google. L' URL AuthSubRequest pourrait ressembler ceci:

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

faites ceci ...

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 

Puis faire ...

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 

Plus docs sur AuthSub:

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