Sto utilizzando il nuovo Google Drive Android API e posso connettermi e fare all that it will allow me to do, ma per poter utilizzare SpreadsheetService, ho bisogno di estrarre l'accountName/email dall'utente registrato .Ottieni nome account/email dall'API Android di Google Drive
Come faccio?
Ecco il codice in cui collego l'API di Google Drive. Funziona bene.
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...");
}
}
}
Ecco dove sto utilizzando l'API SpreadsheetService, ma ho bisogno il nome dell'account per ottenere il token.
String accountName = "???"; // how do I get this From GoogleClientApi/mGoogleApiClient ?
String accessToken = GoogleAuthUtil.getTokenWithNotification(GDriveActivity.this, accountName, scope, null);
SpreadsheetService service = new SpreadsheetService("v1");
Ho provato questo l'aggiunta di questo:
String accountName = Plus.AccountApi.getAccountName(mGoogleApiClient);
... nel metodo onConnected
, ma getta una NullPointerException
.
Inoltre, qui sono i miei permesso:
<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" />
Si prega di dare una lettura https: // sviluppatori .google.com/+/mobile/android/people – Raghuram