使用Gdata服务创建文档的权限被拒绝

时间:2011-08-31 20:21:40

标签: gdata zend-gdata

我正在尝试使用Gdata API创建一个空的电子表格。 由于我在这里遇到了与其他朋友相同的问题(http://goo.gl/AHT7S),默认的Zend API不支持此操作。所以,我正在努力实现它。

实际上我摔倒了,我们几乎得到了它,但我从谷歌服务得到了这个答案:403 - <errors xmlns='http://schemas.google.com/g/2005'><error><domain>GData</domain><code>ServiceForbiddenException</code><internalReason>You do not have permission to perform this operation.</internalReason></error></errors>

我正在使用最简单的方法:客户端登录+ Zend_GData函数。我的代码是这样的(请原谅任何愚蠢的事情......我是PHP和GData的新手):

public function newSpreadsheet($name){

            $line = "\n";
            $tab = "\t";
            $token = 'GoogleLogin auth=' . $this->login->getLoginToken();

            $headers = array();
            $headers['GData-Version'] = "3.0";
            $headers['Authorization'] = $token;
            $headers['Content-Length'] = '287';
            $headers['Content-Type'] = 'application/atom+xml';

            $url = 'https://docs.google.com/feeds/default/private/full';

            $body = "<?xml version='1.0' encoding='UTF-8'?>".$line;
            $body .= "<entry xmlns='http://www.w3.org/2005/Atom'>".$line;
            $body .= $tab. "<category scheme='http://schemas.google.com/g/2005#kind'".$line;
            $body .= $tab.$tab."term='http://schemas.google.com/docs/2007#document'/>".$line;
            $body .= $tab."<title>".$name."</title>".$line;
            $body .= "</entry>";

            echo $body;

            return parent::performHttpRequest('POST',$url,$headers,$body);
}

对于为什么我“没有权限”执行操作有什么想法吗?

1 个答案:

答案 0 :(得分:1)

也许,您想尝试使用API​​上传空电子表格,而不是执行HTTP请求。

在此处查看更多详情:

http://code.google.com/apis/documents/docs/1.0/developers_guide_php.html#UploadingSpreadsheet