- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在 GCE 上运行 Java 应用程序。我正在尝试从此实例获取 Google Cloud 凭证以在我的应用程序中使用。在 GCE 上运行时,返回的凭证不是实例凭证,即使我使用的是应用程序默认凭证。这是我的完整代码:
package test;
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.util.Utils;
import com.google.api.client.http.HttpTransport;
import java.util.Arrays;
public class Test {
public static void main(String[] args) throws Exception {
HttpTransport transport = Utils.getDefaultTransport();
GoogleCredential credential = GoogleCredential.getApplicationDefault(transport, Utils.getDefaultJsonFactory());
credential = credential.createScoped(Arrays.asList("https://www.googleapis.com/auth/userinfo.email"));
System.out.println(credential.getServiceAccountId());
}
}
我的gradle文件:
repositories {
mavenCentral()
}
apply plugin: 'java'
apply plugin: 'application'
sourceCompatibility = '1.8'
targetCompatibility = '1.8'
project.mainClassName = 'test.Test'
dependencies {
compile group: 'com.google.api-client', name: 'google-api-client', version: '1.22.0'
}
我已使用 :assembleDist
gradle 目标将其构建到发行版中。我已将组装的发行版复制到 GCE 实例。 gcloud auth list
的结果是:
Credentialed Accounts:
- ##########-compute@developer.gserviceaccount.com ACTIVE
To set the active account, run:
$ gcloud config set account `ACCOUNT`
当我运行代码时,输出是:
java -jar test-1.0-all.jar
null
最佳答案
问题是计算机上不存在“userinfo.email”范围。在实例创建期间选择“允许完全访问云 API”时,此范围将永远不会出现。看起来像是谷歌端的一个错误。
关于java - GoogleCredential.getApplicationDefault() 不返回 GCE 实例凭证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42876122/
我正在使用 GCP Java API 为 BigQuery 和 Transfer API 创建 GPC 客户端。对于每个客户,我需要启动不同类型的凭据 - GoogleCredential javad
在 OAuth2 的 Google 文档中,此处描述了使用身份验证 token 构建 GoogleCredential: Credential and Credential Store 特别提供了这段
背景 对于我正在开发的应用程序,它使用 People API 使用凭据(用户登录)。用户提供凭据后,我可以访问各种 Google API,例如 People API。一个示例是获取联系人列表: htt
下面的代码在执行时抛出此错误: Caused by: java.lang.StackOverflowError at com.google.auth.oauth2.GoogleCredenti
这是我通过构建器自定义的 Credential 和 Analytics 对象: GoogleCredential credential = new GoogleCredential .
我一直在使用以下 Java 方法在 GCS 中设置存储桶通知。 private void setBucketNotification(String bucketName, String topicId
我正在使用服务帐户模型和 Google 的 Java API 来检索和修改用户。 我能够使用类似于 Google 示例的代码成功创建 GoogleCredential 对象: GoogleCreden
我正在尝试读取我的 GCS 存储桶,但看到了一个有趣的行为。通过 Android Studio(作为调试变体)运行我的应用程序时,我能够下载对象。当我创建签名 APK(或作为发布变体运行)时,我无法再
我正在为我的一个应用程序编写单元测试,其中一部分需要模拟 google-api-java-client 的 GoogleCredential 对象。我们使用服务帐户在 SOA 中的服务之间进行身份验证
我正在开发一个 java spring 项目,该项目要求我向 Google Pub/Sub 发布消息。我需要在 post 请求中将访问 token 作为 Authorization header 发送
我正在尝试获取访问 token 以使用 Google Play Android Developer API,并且我使用 the Google API Java Client documentation
我已经从 saved-access-token 和 saved-refresh-token 初始化了 GoogleCredential 变量。但我不知道检查它是否过期? 我知道 GoogleCrede
我想为 Google Drive 设计一个 Android 文件查看器。 首先,我使用 Google Android API 实现了该应用程序,如下所示, private void retrieveN
我想使用 Python 获取我在 Google Cloud 上的所有 Dataproc 集群的列表。 我将服务帐户凭据存储在一个 JSON key 文件中,其位置由环境变量 GOOGLE_APPLIC
我想创建一个可以访问我的 Firebase 数据库的服务器应用程序。 我遵循了本指南:https://firebase.google.com/docs/admin/setup#initialize_t
我正在制作一个 java 命令行应用程序,该应用程序打包在一个使用 Google 的一些 API 的 JAR 文件中。 我需要从私钥“Credentials.p12”设置 GoogleCredenti
我正在为 Android Publisher v2 和 Oauth2 v2 使用 Java SDK。创建服务帐户后,我得到了一个 JSON 格式的 Google Play Android Develo
我正在开发一个服务帐户应用程序来获取用于访问下游服务的 token 。但是,我遇到了编译问题。 Eclipse提示错误“The type com.google.api.client.auth.oaut
我正在尝试在我的 Android 应用程序中运行此代码: public Bigquery createAuthorizedClient() throws IOException { f
我正在开发一个服务帐户应用程序来获取用于访问下游服务的 token 。但是,我遇到了编译问题。 Eclipse提示错误“The type com.google.api.client.auth.oaut
我是一名优秀的程序员,十分优秀!