kan*_*udo 3 java authentication android oauth-2.0 google-drive-android-api
我只是想为Android Drive API进行身份验证.
我从Android Studio生成签名APK.该帐户经过身份验证,Google Drive API身份验证与此生成的APK完美配合.
现在,当我将相同的APK上传到Play Console中的内部测试时.然后验证失败.
__现在这就是我完成这一切的方式___
1)在Android Manifest中添加了以下内容
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
Run Code Online (Sandbox Code Playgroud)
2)像这样实现了身份验证
public abstract class AuthActivityStackOverflow extends BaseActivity {
protected static final int GOOGLE_SIGN_IN_REQUEST_CODE = 1;
public void signIn() {
startActivityForResult( getGoogleSignInClient().getSignInIntent(), GOOGLE_SIGN_IN_REQUEST_CODE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == GOOGLE_SIGN_IN_REQUEST_CODE) {
if (resultCode == RESULT_OK) {
onSignInSuccess(GoogleSignIn.getLastSignedInAccount(this), requestCode);
showMessage("Account Linked Successfully");
} else { onSignInFailed(); }
}
}
protected GoogleSignInClient getGoogleSignInClient(){
GoogleSignInOptions signInOptions = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestScopes(Drive.SCOPE_APPFOLDER)
.requestEmail()
.build();
return GoogleSignIn.getClient(this, signInOptions);
}
}
Run Code Online (Sandbox Code Playgroud)
3)我生成了调试密钥SHA1并使用API控制台注册了凭据,然后测试了应用程序.它在这里工作.(onActivityResult返回RESULT_OK)
4)现在我生成了生产密钥SHA1并使用API控制台注册了凭据,并从Android Studio生成了最终签名的APK并在我的物理设备上进行了测试.它还在工作.(onActivityResult返回RESULT_OK)
5)现在我在Play Console中将此最终制作APK发布到内部测试.
6)现在我下载这个应用程序并运行此身份验证.它失败了,现在它不起作用了.(onActivityResult返回"0")
我有什么遗失的吗?
有一种方法可以使用Google Drive API 授权您的Android应用.
由于与Google Play服务的集成, Android上的授权请求与其他授权工作流程不同.
与其他工作流程不同,Android上的授权使用
SHA1指纹和包名称来识别您的应用而不是client ID和client secret.
您必须遵循正确的授权流程才能在Play控制台中测试您的APK.
| 归档时间: |
|
| 查看次数: |
254 次 |
| 最近记录: |