【问题标题】:Google Drive API Error Daily Limit for Unauthenticated Use ExceededGoogle Drive API 错误已超出未经身份验证使用的每日限制
【发布时间】:2016-05-29 19:42:07
【问题描述】:

我在使用 Google API 时遇到错误。 有权连接 Google Drive 并添加新工作表并将数据插入其中。

它一直工作到昨天,但是当我今天运行应用程序时。 我收到错误:

用户给出令牌并尝试访问 DRIVE API 以获取所有文件后出现错误

domain: "usageLimits"
extendedHelp: "https://code.google.com/apis/console"
message: "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup."
reason: "dailyLimitExceededUnreg"

我没有更改任何设置。 我的应用程序访问令牌启用了以下 API。我是否必须添加/启用更多 API 才能使其工作。

【问题讨论】:

  • 您是否确保您使用的 OAuth 客户端 ID 与同一个开发者控制台项目相关联?
  • 根据 Google 的参考资料,当应用程序在没有 apiKey(old api) 或 (client_secret, client_id) 的情况下执行请求时,可能会发生此错误。如果您在预览阶段没有被授予对 API 的访问权限和/或如果您只是在没有 API 密钥或 OAuth 2 令牌的情况下进行 API 调用,您将收到 dailyLimitExceededUnreg 错误。参考这个forum
  • 是的,客户端 ID 和客户端密码在应用程序和开发人员控制台中都是相同的,它在前一天工作正常,我没有更改 oauth 设置。

标签: javascript google-api google-drive-api google-spreadsheet-api google-drive-realtime-api


【解决方案1】:

我正在使用 NodeJS 下载文件,但忘记通过身份验证。

最初我使用的是:

function downloadFiles() {
  const service = google.drive('v3');
  const dest = fs.createWriteStream('/tmp/foo.csv');
  const fileId = '12345_ID_GOES_HERE';

  service.files.export({
    fileId: fileId,
    mimeType: 'text/csv'
  });
}

之后,我在函数中添加了一个auth 参数,并将其也传递给export 方法:

function downloadFiles(auth) {
  const service = google.drive('v3');
  const dest = fs.createWriteStream('/tmp/foo.csv');
  const fileId = '12345_ID_GOES_HERE';

  service.files.export({
    auth: auth,
    fileId: fileId,
    mimeType: 'text/csv'
  })
}

我通过创建google-auth-library 的实例得到auth

【讨论】:

  • 这是正确答案,问题在于auth 对象。
【解决方案2】:

问题出在获取访问令牌时。我没有提供正确的范围。 当我将范围更改为

https://spreadsheets.google.com/feedshttps://docs.google.com/feeds https://www.googleapis.com/auth/drive.file

效果很好

【讨论】:

  • 你在哪里定义的范围?我已启用 API,但仍然遇到同样的问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-13
  • 2020-04-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多