如何在google drive api中验证一次

时间:2012-12-29 16:35:53

标签: c# c#-4.0 google-drive-api

我有关于谷歌驱动器的这个问题。这是我的申请 enter image description here

正如你在这里看到的那样。我想浏览并将文件上传到谷歌硬盘。但每次我上传文件时我都需要允许并将身份验证复制到我的应用程序..就像这里一样

enter image description here

是否可以允许访问一次?有没有其他方法来解决这个问题?我可以自动允许访问我的应用程序中的身份验证代码,以便我可以不使用浏览器吗?

3 个答案:

答案 0 :(得分:4)

如果您正在运行服务器应用程序如何使用OAuth2?您不需要使用用户控制台。

GoogleCredentials credentials = new GoogleCredential.Builder()
     .setTransport(HTTP_TRANSPORT)
     .setJsonFactory(JSON_FACTORY)
     .setServiceAccountId("[[SERVICE_ACCOUNT_EMAIL]]")
     .setServiceAccountScopes(DriveScopes.DRIVE, DriveScopes.DRIVE_FILE,
         "https://www.googleapis.com/auth/userinfo.email",
         "https://www.googleapis.com/auth/userinfo.profile")
     .setServiceAccountPrivateKeyFromP12File(Auth.keyFile)
     .setServiceAccountUser("[[impersonateduser@domain]]")
     .build();
credentials.refreshToken();

我找到了关于OAuth2的博客:

http://blog.databigbang.com/automated-browserless-oauth-authentication-for-twitter/

答案 1 :(得分:4)

您需要请求“离线”访问权限。这将为您提供一个刷新令牌,您可以使用该令牌永久获取新的访问令牌,或者直到用户撤消它。

有关.NET示例,请参阅https://developers.google.com/drive/credentials

答案 2 :(得分:2)

请在Authorization for Google Drive内查看使用存储凭据进行授权。基本上,只要存储的access_token没有过期,您就可以访问该帐户。