我已按照this教程获取access token
,其工作原理如链接所示。现在如何从中获取电子邮件和个人资料照片?我已经实施了found this tutorial,它向我展示了如何快速启动google + signin。
但是在这方面我如何获得访问令牌?
我发现这些链接向我展示了基本部分,但任何人都可以说我需要在哪里实现它们?
那么我如何使用AsyncTask
来使用它最后,我想获得访问令牌,电子邮件和个人资料图片,以及教程中的任何人如何获得?
欢迎任何建议。
答案 0 :(得分:1)
几乎没有办法。这是最容易理解的。首先,构建一个扩展AsyncTask<>
的类。您希望String[]
成为返回类型。注意:AsyncTask<Params, Progress, Result>
因此,如果要返回字符串,则需要扩展AsyncTask<Void, Void, String>
public class YourAsyncTaskName extends AsyncTask<Void, Void, String> {
@Override
protected String doInBackground(Void... params) {
String token = null;
try {
token = GoogleAuthUtil.getToken(
MainActivity.this,
mGoogleApiClient.getAccountName(),
"oauth2:" + SCOPES);
} catch (IOException transientEx) {
// Network or server error, try later
Log.e(TAG, transientEx.toString());
} catch (UserRecoverableAuthException e) {
// Recover (with e.getIntent())
Log.e(TAG, e.toString());
} catch (GoogleAuthException authEx) {
// The call is not ever expected to succeed
// assuming you have already verified that
// Google Play services is installed.
Log.e(TAG, authEx.toString());
}
return token;
}
@Override
protected void onPostExecute(String token) {
/* here you have your token */
Log.i(TAG, "Access token retrieved:" + token);
}
}
然后,要开始此任务,只需创建一个实例并调用.execute();
YourAsyncTaskName asyncTask = new AsyncTaskName();
asyncTask.execute();