尝试获取Google云端硬盘文件时出错

时间:2012-07-27 02:37:05

标签: google-app-engine google-drive-api

尝试使用以下网址获取Google云端硬盘文件时收到错误:

file = service.files().get(fileId=<googleDriveFileId>).execute()

错误是:

<HttpError 404 when requesting https://www.googleapis.com/drive/v2/files/0B6Cpn8NXwgGPQjB6ZlRjb21ZdXc?alt=json returned "File not found: 0B6Cpn8NXwgGPQjB6ZlRjb21ZdXc">

但是,当我直接在浏览器中复制并粘贴该链接时,如下所示:     https://www.googleapis.com/drive/v2/files/0B6Cpn8NXwgGPQjB6ZlRjb21ZdXc?alt=json

我得到了一个不同的错误:

{
 "error": {
  "errors": [
   {
    "domain": "usageLimits",
    "reason": "dailyLimitExceededUnreg",
    "message": "Daily Limit Exceeded. Please sign up",
    "extendedHelp": "https://code.google.com/apis/console"
   }
  ],
  "code": 403,
  "message": "Daily Limit Exceeded. Please sign up"
 }
}

即使接近超过每日限制,我也没有,控制台显示0%的使用率。 我知道fileId是正确的,我使用Google Picker来获取fileId。 有什么想法吗?

1 个答案:

答案 0 :(得分:2)

我在其他地方发现这是谷歌云端硬盘的已知问题,他们正在努力解决这个问题。它们提供了我已确认可以使用的以下解决方法。

在构建选择器时添加以下内容:

enableFeature(google.picker.Feature.MULTISELECT_ENABLED).

完整代码:

var picker = new google.picker.PickerBuilder().
        addView(view).
        addView(uploadView).
        setAppId("pressomatic").
        setCallback(pickerCallback).
        enableFeature(google.picker.Feature.MULTISELECT_ENABLED).
        build();
    picker.setVisible(true);

当尝试使用Google Picker在DocsUploadView上使用setParent上传到特定文件夹时,同样的解决方法解决了我发布的另一个问题。您仍然将相同的功能添加到Picker,而不是DocsUploadView,并且一切正常。