Google api 如何使用JWT访问Google Androidpublisher API?

Google api 如何使用JWT访问Google Androidpublisher API?,google-api,in-app-purchase,jwt,google-oauth,in-app-billing,Google Api,In App Purchase,Jwt,Google Oauth,In App Billing,因此,有一种方法可以使用此处描述的JWT令牌在Google API服务上进行授权: 我已尝试按照以下说明进行操作: 1。创建一个服务帐户。确保在创建帐户时保留您获得的JSON文件。 完成了 2。从GitHub上的服务定义文件中获取API的服务名称和API名称。 我去了,开始搜索。我需要访问Androidpublisher API。因此,首先,我尝试检查文件夹结构和所需API的位置。不走运。然后我尝试通过关键字“androidpublisher”和“android”搜索整个repo中的*.yaml

因此,有一种方法可以使用此处描述的JWT令牌在Google API服务上进行授权:

我已尝试按照以下说明进行操作:

1。创建一个服务帐户。确保在创建帐户时保留您获得的JSON文件。

完成了

2。从GitHub上的服务定义文件中获取API的服务名称和API名称。

我去了,开始搜索。我需要访问Androidpublisher API。因此,首先,我尝试检查文件夹结构和所需API的位置。不走运。然后我尝试通过关键字“androidpublisher”和“android”搜索整个repo中的*.yaml文件。又没运气了。事实上,我通过关键字“publisher”找到了一些东西:是的,但似乎不是我要找的

好的,让我们再读一遍:

如果要调用的API在Google API GitHub存储库中发布了服务定义,则可以使用JWT而不是访问令牌进行授权API调用。

因此,基本上这意味着任何API都可能在那里发布,也可能不发布

在本文中,我找到了一种使用JSON文件和凭据授权Androidpublisher API的方法:

因此,我假设有一种方法可以使用JWT令牌对其进行授权。但是我不能使用java库,因为我的服务将在C++上运行。不幸的是,谷歌没有为C++开发人员提供一个库。 有一次,我非常绝望,甚至尝试在Java上编译这段代码并运行它,只是为了查看它将HTTP请求发送到哪里(使用调试器或脚本)。但是我不是一个Java开发人员,在解决了一个小时的依赖性问题之后,在运行代码时,我仍然遇到了一些“缺少Java密钥存储”(或类似的问题)。所以我放弃了

所以我的最后一个问题是:Androidpublisher API的
服务名称和
API名称是什么


我应该能够在第二步中检索这些值。但我失败了。我觉得这是我现在完成任务所缺少的唯一一条信息。

我找到了一种方法,可以访问Adndoidpublisher API,而无需执行以下步骤:

2。从GitHub上的服务定义文件中获取API的服务名称和API名称。

我可以使用它来获取API访问令牌。执行此操作的方法在
HTTP/REST
选项卡中介绍

然后,我就可以在中访问API了

private static Credential authorizeWithServiceAccount() throws IOException {
    log.info("Authorizing using Service Account");
    try (FileInputStream fileInputStream = new FileInputStream(JSON_PATH)) {
        return GoogleCredential.fromStream(fileInputStream, HTTP_TRANSPORT, JSON_FACTORY)
                .createScoped(Collections.singleton(AndroidPublisherScopes.ANDROIDPUBLISHER));
    }
}