5

我可以仅使用 Google 帐户用户名和密码而不使用 OAuth 进行身份验证吗?如果没有,是否计划在未来版本的 Google Drive API 中支持这种身份验证?

我目前正在使用Google Documents List API,它只允许使用用户名和密码进行身份验证。所以我想知道我是否可以用 Google Drive API 做同样的事情。

4

3 回答 3

4

您是否有任何理由不能使用 OAuth 2.0 作为您的授权机制?

客户端登录目前已被弃用,您和您的用户最好使用 OAuth 2.0。

Drive SDK 文档以及各种客户端库项目页面中提供了多个代码示例,可帮助您入门。

于 2012-07-02T16:28:29.213 回答
0

如果您正在运行服务器应用程序,请考虑使用具有 OAuth2 和 Drive API 的服务帐户。这将允许您在服务器上运行应用程序,而无需用户在控制台或通过 UI 提供 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();
于 2012-09-22T15:10:41.690 回答
0

我在某个地方(可能在这里)找到了这篇博文:http ://blog.databigbang.com/automated-browserless-oauth-authentication-for-twitter/ 。

我知道它与 Twitter 有关,但它使用相同的方法,所以我认为它只需要在名称上稍作调整。简而言之:如果脚本仅由服务器运行,请安装 Jython + HTMLUnit,模拟用户转到生成的授权链接并单击“允许访问”按钮并获取令牌。

于 2012-11-28T11:02:57.417 回答