我正在为Android移动SDK设计API测试。要启用SDK功能,我需要提供一个身份令牌,这是谷歌目前。通过调用Google登录活动,通过UI交互登录并从登录意图结果中获取令牌,这样做(获取令牌)是没有问题的。(https://developers.google.com/identity/sign-in/android)
但由于这是所有测试中唯一会出现的UI交互,所以我想摆脱它,所以我要找的东西是:
有没有办法通过API而不是UI登录来做同样的事情呢?只需在代码中向相应的方法提供电子邮件和密码。
我找不到任何这样做的参考资料。
发布于 2020-05-25 03:16:05
我正面临着一个类似的问题,我想要将登录和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());
}
}
});
}https://stackoverflow.com/questions/61888446
复制相似问题