我需要獲取訪問令牌並將其發送到服務器。使用該訪問令牌服務器應獲取所有用戶詳細信息,如姓名,個人資料圖片和電子郵件。Google plus登錄訪問令牌retriew
我可以使用Scopes.PLUS_LOGIN和Scopes.PLUS_ME訪問令牌,但與訪問令牌服務器無法獲得用戶的電子郵件。
這裏是我的代碼:
@Override
public void onConnected(Bundle arg0) {
mSignInClicked = false;
AsyncTask<Void, Void, String> task = new AsyncTask<Void, Void, String>() {
@Override
protected String doInBackground(Void... params) {
String token = null;
String scope = "oauth2:" + Scopes.PLUS_LOGIN + " " + Scopes.PLUS_ME;
try {
token = GoogleAuthUtil.getToken(
getApplicationContext(),
Plus.AccountApi.getAccountName(mGoogleApiClient),
scope);
appUser.setToken(token);
} catch (IOException transientEx) {
// Network or server error, try later
Log.e(TAG, transientEx.toString());
} catch (UserRecoverableAuthException e) {
// Recover (with e.getIntent())
} 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) {
Log.i(TAG, "Access token retrieved:" + appUser.getToken());
// Get user's information
}
};
}
是否有人知道如何解決這個問題?
我想使用您的代碼。你能解釋我什麼是appUser和setToken()嗎? –
它是POJO類和二傳手和吸氣劑。你可以保存沒有的結果。 – Zookey