我可以使用Google Drive API中的Google用户名和密码进行身份验证吗?

时间:2012-07-02 06:03:17

标签: google-drive-api

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

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

3 个答案:

答案 0 :(得分:4)

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

客户端登录目前为deprecated,您和您的用户最好使用OAuth 2.0。

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

答案 1 :(得分: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();

答案 2 :(得分:0)

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

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