【问题标题】:Downloading spreadsheet from Google Docs returns 401 Unauthorized从 Google Docs 下载电子表格返回 401 Unauthorized
【发布时间】:2013-01-14 15:14:23
【问题描述】:

我正在尝试创建一个脚本来备份用户的所有文档。 对于文本文档一切正常,但对于电子表格,我拥有的内容是 401 Unauthorized。

有人知道为什么会这样吗?

这是我正在使用的一些代码:

foreach($feeds 作为 $item) { $saveFilePath = $save_path 。 '/' 。 $item->getTitle() 。 “。” . $docType["格式"]; $uri = $item->getContent()->getSrc() 。 "&exportFormat=" 。 $docType["格式"]);; $数据 = $文档 ->getHttpClient() ->setUri($uri) ->请求() ->getBody(); $fp = fopen($saveFilePath, "wb"); fwrite($fp, $data); fclose($fp); }

谢谢

【问题讨论】:

  • 我天真的假设是您“未经授权”这样做。您是否检查了服务是否需要对此操作进行身份验证?
  • developers.google.com/google-apps/documents-list/… Cite:“如果您收到 401 Unauthorized 响应,那么很可能您没有获得具有正确范围的 OAuth/AuthSub 令牌(如上所述)。”
  • 我认为我已获得授权,因为我可以毫无问题地下载文本文档......
  • 这很公平,但对于文本文档来说也是如此......
  • 我现在明白了。显然,使用 ClientLogin 作为 http 客户端是不可能的...

标签: php zend-framework google-drive-api gdata


【解决方案1】:

要使用(已弃用)文档列表 API 和 OAuth 作为授权机制从 Google Drive 下载所有类型的文件,您必须请求访问以下所有范围:

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

更好的是,您应该使用更新的 Drive API:http://developers.google.com/drive

【讨论】:

    【解决方案2】:

    有一个在线 google 示例here 让您尝试下载 google 文件。

    【讨论】:

      猜你喜欢
      • 2011-03-18
      • 1970-01-01
      • 2012-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-13
      相关资源
      最近更新 更多