Android SDK 测试 - 在没有 Google 登录活动的情况下登录 Google 帐户(通过某些 API)



我正在为Android移动SDK设计API测试。 要启用SDK功能,我需要提供一个目前是Google的身份令牌。 通过调用 Google 登录活动、通过 UI 交互登录并从登录意图结果中获取令牌来执行此操作(获取令牌(没有问题。 (https://developers.google.com/identity/sign-in/android(

但是由于这是所有测试中唯一会出现的UI交互,因此我肯定想要摆脱它,因此我试图找到的是:

有没有办法通过 API 而不是 UI 登录来做同样的事情?只需在代码中向相应的方法提供电子邮件和密码即可。

我找不到任何参考资料来这样做。

我遇到了类似的问题,我想将登录名和UI解耦。GoogleSignInClient.silentSignIn((看起来很有前途,但我还没有能够检查它是否有效。这里有一些文档 https://developers.google.com/android/reference/com/google/android/gms/auth/api/signin/GoogleSignInClient#silentSignIn((和一个示例实现,如下所示:

Task<GoogleSignInAccount> task = googleSignInClient.silentSignIn();
if (task.isSuccessful()) {
// There's immediate result available.
GoogleSignInAccount signInAccount = task.getResult();
updateViewWithAccount(account);
} else {
// There's no immediate result ready, displays some progress indicator and waits for the
// async callback.
showProgressIndicator();
task.addOnCompleteListener(new OnCompleteListener<GoogleSignInAccount>() {
@Override
public void onComplete(Task<GoogleSignInAccount> task) {
try {
hideProgressIndicator();
GoogleSignInAccount signInAccount = task.getResult(ApiException.class);
updateViewWithAccount(account);
} catch (ApiException apiException) {
// You can get from apiException.getStatusCode() the detailed error code
// e.g. GoogleSignInStatusCodes.SIGN_IN_REQUIRED means user needs to take
// explicit action to finish sign-in;
// Please refer to GoogleSignInStatusCodes Javadoc for details
updateButtonsAndStatusFromErrorCode(apiException.getStatusCode());
}
}
});
}

最新更新