Ich benutze die neue Google Drive Android API und ich kann verbinden, und tun all that it will allow me to do, aber um den SpreadsheetService zu verwenden, muss ich den AccountName/E-Mail von dem angemeldeten Benutzer extrahieren .Kontoname/E-Mail von Google Drive Android API
Wie mache ich das?
Hier ist der Code, wo ich die Google Drive API verbinde. Es funktioniert gut.
private void connect() {
if (isGooglePlayServicesAvailable()) {
if (mGoogleApiClient == null) {
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addApi(Drive.API)
.addScope(Drive.SCOPE_FILE)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.build();
}
// And, connect!
if (!mGoogleApiClient.isConnecting() && !mGoogleApiClient.isConnected()) {
mGoogleApiClient.connect();
writeLog("Connecting...");
}
}
}
Hier ist, wo ich die SpreadsheetService API bin mit, aber ich brauche die Kontonamen das Token zu bekommen.
String accountName = "???"; // how do I get this From GoogleClientApi/mGoogleApiClient ?
String accessToken = GoogleAuthUtil.getTokenWithNotification(GDriveActivity.this, accountName, scope, null);
SpreadsheetService service = new SpreadsheetService("v1");
Ich habe dies versucht, dies fügt hinzu:
String accountName = Plus.AccountApi.getAccountName(mGoogleApiClient);
... im onConnected
Verfahren, aber es wirft einen NullPointerException
.
Auch hier sind meine Berechtigungen:
<uses-permission
android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission
android:name="android.permission.VIBRATE" />
<uses-permission
android:name="android.permission.INTERNET" />
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission
android:name="android.permission.GET_ACCOUNTS" />
<uses-permission
android:name="android.permission.NETWORK" />
<uses-permission
android:name="android.permission.USE_CREDENTIALS" />
bitte eine Lesung https geben: // Entwickler .google.com/+/mobile/android/people – Raghuram