尝试从本机Windows服务中使用Google Drive API会导致"未授权请求范围"

时间:2014-10-22 07:28:28

标签: google-api google-drive-api

我来自哪里的介绍:尽可能少的开发工作,我想访问Google云端硬盘(范围:https://www.googleapis.com/auth/drive)以永久删除目前的文件垃圾桶。

在Windows系统上,我安装了Google云端硬盘,并且它从目录文件夹同步文件。随着文件被删除,它们将移至Google云端硬盘中的“已删除邮件”,但它们永远不会被删除,从而导致帐户超过配额。负责维护本地Windows Google云端硬盘文件夹结构中的文件的Windows服务是用C#编写的,因此我想利用它来利用Drive API与Google云端硬盘联系,以永久删除垃圾箱中的文件。

但是,在使用Google Drive API时,我遇到了两个问题:

  1. 在请求范围" https://www.googleapis.com/auth/drive"时,我得到以下回复
    "error" : "invalid_scope" "error_description" : "Not authorized to request the scopes: [https://www.googleapis.com/auth/drive]" "error_uri" : "http://code.google.com/apis/accounts/docs/OAuth2.html"
  2. 我认为找到问题1的解决方法,因为有些人建议使用范围" https://docs.google.com/feeds"代替。但是,当Google云端硬盘的帐户所有者确认user_code时,我从未获得预期的访问权限并刷新令牌。相反,民意调查将继续接收
    "error" : "authorization_pending"
  3. 只是为了完成这个故事:由于我没有Windows服务的UI,我选择按照OAuth 2.0 for Devices说明进行正确的身份验证。用户接收用于身份验证的URL以及每封电子邮件的用户代码。因此,提交client_idscope后的Windows服务会为最终用户生成一封电子邮件,其中包括收到的verification_urluser_code

    使用范围" https://docs.google.com/feeds"时,我注意到没有应用添加到Google云端硬盘帐户的授权应用列表中。但是,在使用Google API Explorer时,它已添加到列表中。所以我的预感是,这个范围不会因为访问Google云端硬盘而被删除,因此出现错误" authorization_pending"不断被抛出。

    所以底线问题:谷歌API是不是不会获得谷歌硬盘访问权限,我必须使用谷歌硬盘SDK而不是谷歌API?在这种情况下,我想,我将不得不创建一些网络能够与我的Windows服务通信的UI - 正确吗?

    真的很感激任何有关细节的深刻见解我现在已经打了几个晚上。谢谢!!!

0 个答案:

没有答案