1

尝试使用以下方式获取 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。有任何想法吗?

4

1 回答 1

2

我在其他地方发现这是他们正在努力解决的 Google Drive 的已知问题。他们提供了以下我已确认有效的解决方法。

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

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);

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

于 2012-07-27T03:02:11.193 回答