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

时间:2016-08-05 13:34:53

标签: google-drive-api salesforce apex

我创建了一个服务帐户,获得了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;
}

2 个答案:

答案 0 :(得分:1)

对于错误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.   
  3. Services pane上启用全部   您的项目需要的API。
  4.   
  5. API Access pane上,点击创建一个   OAuth 2.0客户端ID 。将打开一个对话框填写你的项目   信息。点击下一步
  6.   
  7. 选择适当的应用程序类型。根据您在此帖子中使用的标签,我猜这是一个iOS项目,所以选择   已安装的应用
  8.   
  9. 输入您的包ID。在您的应用程序列在那里之前,您无需输入App Store ID。
  10.   
  11. 点击创建客户ID
  12.         

    您将看到客户端ID和客户端密钥值。你会用的   这些值可以与您的项目和Google进行通信   的API。

         

    如果您尚未使用它,请参阅Google+ iOS SDK and documentation以获取完整信息   走过去。称为“写时刻”的任务类似于   实施并演示如何连接和使用Google+   来自使用SDK的iOS项目中的REST API。

         

    您需要指定plus.me的范围才能获取个人资料   信息。

希望这有帮助!

答案 1 :(得分:1)

我发现了什么问题。我在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;
}