如何从 GoogleApiClient 获取 OAuth 令牌
How to Get OAuth Token From GoogleApiClient
我正在尝试构建一个 Android 应用程序,该应用程序在 Google 驱动器中创建一个传播 sheet,然后向其中添加一些数据。我可以使用 Google Drive Android API 成功创建传播 sheet,这涉及创建 GoogleApiClient
并使用实现 GoogleApiClient.ConnectionCallbacks
.
当我启动应用程序时,我创建了一个新的 GoogleApiClient
并提示我 select 一个帐户。在 onConnected
回调中,我可以将我的 GoogleApiClient
新传递给 Drive.DriveApi
以查询和创建文件和文件夹。
但是,要将数据添加到 Google sheet,我需要使用 GoogleSheets API。据我所知,它没有 Android API,但它确实有一个 gdata API。但是,为了使用它,我需要一个 OAuth 令牌。
我是否可以从 GoogleApiClient
对象获取 OAuth 令牌?
您可以使用GoogleAuthUtil.getToken()
在 AsyncTask 执行网络操作时调用此方法。
是的,你可以使用
GoogleAccountCredential mCredential;
String[] SCOPES = {"https://www.googleapis.com/auth/userinfo.profile"};
mCredential = GoogleAccountCredential.usingOAuth2(mContext, Arrays.asList(SCOPES))
.setBackOff(new ExponentialBackOff())
.setSelectedAccountName(ACC_NAME);
GoogleAuthUtil.getToken(mContext, mCredential.getSelectedAccountName(),SCOPE)
我正在尝试构建一个 Android 应用程序,该应用程序在 Google 驱动器中创建一个传播 sheet,然后向其中添加一些数据。我可以使用 Google Drive Android API 成功创建传播 sheet,这涉及创建 GoogleApiClient
并使用实现 GoogleApiClient.ConnectionCallbacks
.
当我启动应用程序时,我创建了一个新的 GoogleApiClient
并提示我 select 一个帐户。在 onConnected
回调中,我可以将我的 GoogleApiClient
新传递给 Drive.DriveApi
以查询和创建文件和文件夹。
但是,要将数据添加到 Google sheet,我需要使用 GoogleSheets API。据我所知,它没有 Android API,但它确实有一个 gdata API。但是,为了使用它,我需要一个 OAuth 令牌。
我是否可以从 GoogleApiClient
对象获取 OAuth 令牌?
您可以使用GoogleAuthUtil.getToken()
在 AsyncTask 执行网络操作时调用此方法。
是的,你可以使用
GoogleAccountCredential mCredential;
String[] SCOPES = {"https://www.googleapis.com/auth/userinfo.profile"};
mCredential = GoogleAccountCredential.usingOAuth2(mContext, Arrays.asList(SCOPES))
.setBackOff(new ExponentialBackOff())
.setSelectedAccountName(ACC_NAME);
GoogleAuthUtil.getToken(mContext, mCredential.getSelectedAccountName(),SCOPE)