Tôi đang sử dụng Google Drive Android API mới và tôi có thể kết nối và thực hiện all that it will allow me to do, nhưng để sử dụng Bảng tính, tôi cần trích xuất tài khoản/email từ người dùng đã đăng nhập .Nhận Tên tài khoản/Email từ API Android của Google Drive
Tôi làm như thế nào?
Đây là mã mà tôi kết nối API Google Drive. Nó hoạt động tốt.
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...");
}
}
}
Đây là nơi tôi đang sử dụng API SpreadsheetService, nhưng tôi cần tên tài khoản để có mã thông báo.
String accountName = "???"; // how do I get this From GoogleClientApi/mGoogleApiClient ?
String accessToken = GoogleAuthUtil.getTokenWithNotification(GDriveActivity.this, accountName, scope, null);
SpreadsheetService service = new SpreadsheetService("v1");
Tôi đã cố gắng này thêm này:
String accountName = Plus.AccountApi.getAccountName(mGoogleApiClient);
... trong phương pháp onConnected
, nhưng nó ném một NullPointerException
.
Ngoài ra, đây là quyền của tôi:
<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" />
xin vui lòng cung cấp cho nó một https đọc: // các nhà phát triển .google.com/+/mobile/android/people – Raghuram