重用Google Api Bearer Token访问用户的云端硬盘

时间:2017-07-08 13:52:09

标签: javascript c# google-api google-oauth gapi

我有以下内容:

   gapi.auth.authorize(
        { client_id: CLIENT_ID, scope: SCOPES, immediate: false },
        handleAuthResult);

这使我可以访问access_token

enter image description here

目标是此应用程序的用户可以授予对我的应用程序的访问权限,以使用其谷歌驱动器存储其内容。我需要能够使用此令牌:

  1. 读取文件
  2. 发布文件
  3. 很长一段时间没有通过谷歌登录页面重新认证。怎么能实现这一目标?我正在使用C#作为后端。

1 个答案:

答案 0 :(得分:1)

您需要在浏览器中使用JavaScript中的OAuth切换到服务器上的OAuth。这里有详细记录https://developers.google.com/identity/protocols/OAuth2WebServer 您可以选择使用OAuth c#库,也可以只调用REST端点。

要在用户不在场的情况下实现访问,您需要access_type=offline哪个...

  

如果您的应用需要刷新访问权限,请将值设置为脱机   用户不在浏览器时的令牌。这是方法   刷新访问令牌,在本文档后面描述。这个   value指示Google授权服务器返回刷新   第一次申请时,令牌和访问令牌   交换令牌的授权码。

然后,您将在用户首次授予权限时获得刷新令牌。您需要将此刷新令牌保存在某种服务器数据存储区中。然后,您可以随时使用它来请求访问令牌。