从Salesforce查看文件时,Google Drive API消息“超出未经身份验证的使用限制。”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从Salesforce查看文件时,Google Drive API消息“超出未经身份验证的使用限制。”相关的知识,希望对你有一定的参考价值。

我创建了一个服务帐户,获得了json配置文件,并使用它请求访问令牌。响应没问题,我收到令牌。当我使用它上传文件时一切正常,但是当我尝试从文件夹中查看文件时,它会返回错误消息

超出未经身份验证的使用的每日限制。继续使用需要注册。

我的服务帐户只需要访问自己的文件,它不会访问任何其他用户的文件。我查看文件的代码(现在我尝试调试响应):

public List<String> getFilesList() {
    Http http = new Http();
    HttpRequest req = new HttpRequest();
    req.setMethod('GET');
    req.setEndpoint('https://www.googleapis.com/drive/v2/files?accessToken='+accessToken');
    HttpResponse resp = http.send(req);
    System.debug(resp);
    System.debug(resp.getBody());
    return null;
}
答案

对于错误Daily Limit for Unauthenticated Use Exceeded. Continued use requires sign,请尝试在API下检查您的Google开发者控制台,这是与API密钥相关联的项目。示例:https://console.developers.google.com/project/<your app id>/apiui/api。确保Google + API的状态设置为“开”。

基于此SO question,该错误意味着您尚未设置Google API控制台项目。

  1. 创建一个Google APIs Console project
  2. Services pane上,启用项目所需的所有API。
  3. API Access pane上,单击“创建OAuth 2.0客户端ID”。将打开一个对话框填写您项目的信息。点击下一步
  4. 选择适当的应用程序类型。根据您在此帖子中使用的标签,我猜这是一个ios项目,因此请选择已安装的应用程序。
  5. 输入您的包ID。在您的应用程序列在那里之前,您无需输入App Store ID。
  6. 单击“创建客户端ID”

您将看到客户端ID和客户端密钥值。您将使用这些值来启用与项目和Google API的通信。

如果您还没有使用它,请参阅Google+ iOS SDK and documentation进行全面浏览。称为“写时刻”的任务在实现中类似,并演示了如何在使用SDK的iOS项目中连接和使用Google+ REST API。

您需要指定plus.me的范围以获取配置文件信息。

希望这可以帮助!

另一答案

我发现了什么问题。我在url地址而不是标题中发送访问令牌。最终我这样做了:

public List<String> getFilesList() {
 Http http = new Http();
 HttpRequest req = new HttpRequest();
 req.setMethod('GET');
 req.setEndpoint('https://www.googleapis.com/drive/v2/files);
 req.setHeader('Authorization', 'Bearer '+accessToken);
 HttpResponse resp = http.send(req);
 return null;
}

以上是关于从Salesforce查看文件时,Google Drive API消息“超出未经身份验证的使用限制。”的主要内容,如果未能解决你的问题,请参考以下文章

用于从 Salesforce 在 android 移动应用程序上发送通知的 GCM

Salesforce - 将字段设置为只读

执行hive命令时没有反应

Salesforce Lightning组件中使用Chart.JS实现数据可视化

如果选择了侧边栏菜单项,如何使用Google表格

Salesforce 开发整理权限共享