我无法访问Google云端硬盘。我在 Google API 控制台中创建了一个 API KEY,并启用了 Google Drive API 和 SDK。在代码中的何处设置该 API 密钥?
驱动器生成器没有setJsonHttpRequestInitializer
方法。在哪里可以设置密钥?有其他选择吗?
private Drive getDriveService(String token) {
HttpTransport ht = AndroidHttp.newCompatibleTransport();
JacksonFactory jsonFactory = new JacksonFactory();
Credential credentials = new GoogleCredential().setAccessToken(token);
Drive.Builder b = new Drive.Builder(ht, jsonFactory, credentials);
b.setHttpRequestInitializer(credentials);
return b.build();
}
获取:
com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden
{
"code" : 403,
"errors" : [ {
"domain" : "usageLimits",
"message" : "Access Not Configured",
"reason" : "accessNotConfigured"
} ],
"message" : "Access Not Configured"
}
您需要在 API 控制台中激活两件事:- 驱动器接口- 驱动软件开发工具包
许多人只激活一个。
此外,不要忘记在发布最终应用程序之前添加您的真实证书 SHA1。
也有类似的答案:谷歌云端硬盘 SDK 例外
在 Android 中,根据 pommedeterresautee 的规定,我们需要同时激活 Drive API 和 Drive SDK,然后生成 API 密钥。
这必须在应用程序标记内的 Android 清单中设置,并与其他应用程序组件标记一样设置为:
<application...>
<activity ...>
<meta-data
android:name="com.google.android.apps.drive.APP_ID"
android:value="id=YOUR_API_KEY" />
</application>
执行此操作时,您将能够访问 api,而不会出现 403"未配置访问"问题。