我一直在搞乱Google OAuth2和API,但它似乎无法实现我想要做的事情。我有一个谷歌表单,我想访问,但要求用户登录到他们的帐户,然后才能访问它。我认为GoogleDriveAPI可以完美运行,除了它只获取USER' S驱动器中的文件,而不是我试图访问的公共文件。(假设我是&m;正确阅读文档)
那么通过HTTP与Google签约的最佳方式是什么?我设计的应用程序是一个调查应用程序,其目的是通过HTTP将用户的响应发送到谷歌表单。通过要求登录,它将阻止来自单个人的多次提交。这是一种聪明的方式吗?或者有更好的方法吗?
答案 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。