我正在尝试使用私人网址从Google日历中获取一系列事件。我阅读了Google API文档,但我想尝试不使用ZEND库,因为我不知道最终的服务器文件结构是什么,并且避免让其他人编辑代码。
我在发布之前也进行了搜索,并遇到了相同的情况,其中PHP CURL_EXEC返回false,但是如果使用Web浏览器打开URL,我会得到一个JSON文件。由于我使用的是私有网址,我是否真的需要使用ZEND对Google服务器进行身份验证?我正在尝试让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
答案 0 :(得分:2)
您可以“自己动手”AuthSub或oAuth实施:
以下摘要摘自: http://code.google.com/apis/calendar/data/2.0/developers_guide_protocol.html#Auth
为a获取AuthSub令牌 给定用户,您的应用程序必须 将用户重定向到 AuthSubRequest URL,提示他们 登录他们的Google帐户。该 AuthSubRequest URL可能看起来像 这样:
然后这样做......
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的更多文档: