2013-01-14 71 views
0

我正在嘗試創建備份用戶所有文檔的腳本。 一切工作正常的文本文件,但當涉及到電子表格,我有的內容是401未經授權。從Google文檔下載電子表格返回401未授權

任何人都知道爲什麼會發生這種情況?

下面是一些代碼我使用:

 
foreach($feeds as $item) 
{ 
    $saveFilePath = $save_path . '/' . $item->getTitle() . "." . $docType["format"]; 

    $uri = $item->getContent()->getSrc() . "&exportFormat=" . $docType["format"]);; 

    $data = $docs 
       ->getHttpClient() 
       ->setUri($uri) 
       ->request() 
       ->getBody(); 

    $fp = fopen($saveFilePath, "wb"); 
    fwrite($fp, $data); 
    fclose($fp); 

} 

感謝

+0

我的天真假設是你是「未經授權」這樣做。您是否檢查該服務是否需要對此操作進行身份驗證? – Gordon

+1

https://developers.google.com/google-apps/documents-list/#downloading_spreadsheets引用:「如果您收到了401未經授權的回覆,那麼很可能您沒有獲得正確範圍的OAuth/AuthSub令牌(描述以上)。」 – gearsdigital

+0

我假設我被授權,因爲我可以下載文本文件沒有問題.... –

回答

0

下載所有類型的使用(不推薦)文檔列表API和OAuth的認證機制,從谷歌雲端硬盤文件您有權要求所有的下列範圍的訪問:

https://docs.google.com/feeds/ 
https://docs.googleusercontent.com/ 
https://spreadsheets.google.com/feeds/ 

更妙的是,你應該使用較新的驅動器API:http://developers.google.com/drive

0

有一個在線谷歌示例here讓您試驗下載一個谷歌文件。