私は新しいGooglePlayサービスから始めて、ブログと参照されている例で見つけた情報を使用して、完全に機能するアプリを作成しようとしました。私見これらの例には何かが欠けています。
新しい標準のAccountPicker.newChooseAccountIntentを使用して、デバイスに登録されているGoogleアカウントを選択できます。そのダイアログを使用すると、返品時にアカウントの名前が返されます。
ここで、例はトークンを取得する方法を示しています。新しいGoogleAuthUtil.getTokenメソッドでは、トークンを取得するためにメールが必要です。
何か足りないものがあります。特定のアカウント名からメールを取得するにはどうすればよいですか?
よろしくお願いします。
public class MyActivity extends Activity {
public static final String AUTHTOKENSCOPE_DRIVE = "oauth2:https://www.googleapis.com/auth/drive";
String accountName = "";
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
switch (requestCode) {
case 1:
if (resultCode == RESULT_OK) {
accountName = intent.getStringExtra(AccountManager.KEY_ACCOUNT_NAME);
// Need to fetch token with email
// String token = GoogleAuthUtil.getToken(this, <???email???>,
AUTHTOKENSCOPE_DRIVE);
} else {
}
break;
default:
super.onActivityResult(requestCode, resultCode, intent);
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
int rc = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
switch (rc) {
case ConnectionResult.SUCCESS:
Intent intent = AccountPicker.newChooseAccountIntent(null, null, new String[] {
"com.google"
},
true, null, AUTHTOKENSCOPE_DRIVE, new String[] {
"Just a text"
}, null);
startActivityForResult(intent, 1);
break;
}
}
}