如何通过HTTP与Google签约

时间:2016-04-28 19:04:06

标签: android google-drive-api google-api-java-client google-signin google-account

我一直在搞乱Google OAuth2和API,但它似乎无法实现我想要做的事情。我有一个谷歌表单,我想访问,但要求用户登录到他们的帐户,然后才能访问它。我认为GoogleDriveAPI可以完美运行,除了它只获取USER' S驱动器中的文件,而不是我试图访问的公共文件。(假设我是&m;正确阅读文档)

那么通过HTTP与Google签约的最佳方式是什么?我设计的应用程序是一个调查应用程序,其目的是通过HTTP将用户的响应发送到谷歌表单。通过要求登录,它将阻止来自单个人的多次提交。这是一种聪明的方式吗?或者有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

尝试使用Google Sign-In。您需要在Google Developers Console上启用Google+ API。您可以查看此tutorial上的步骤。

您还需要配置Google登录,以将Google登录集成到您的Android应用中。例如,要配置Google登录以请求用户' ID和基本配置文件信息,您需要使用DEFAULT_SIGN_IN parameter创建GoogleSignInOptions对象。要求用户'也可以使用GoogleSignInOptions选项创建requestEmail对象。

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
        .requestEmail()
        .build();

然后,在登录活动的onCreate方法中,创建一个GoogleApiClient对象,可以访问Google登录API和您指定的选项。

mGoogleApiClient = new GoogleApiClient.Builder(this)
        .enableAutoManage(this /* FragmentActivity */, this /* OnConnectionFailedListener */)
        .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
        .build();

在GitHub上查看example