未找到方法。使用 Google 我的公司 API 时出错

Method not found. error when using Google my business API

我使用 google api 客户端从帐户列表函数中获取 404。

我已经使用 OAuth2.0 访问令牌。 除此之外,我已经通过 https://console.developers.google.com 为 OAuth 2.0 启用了 Google 我的业务 API。

■这里是环境

PHP 7.2.3

Ubuntu 18.04 LTS

google/apiclient ^2.5

我要执行的功能如下。 https://developers.google.com/my-business/reference/rest/v4/accounts/list

我使用 link 之后的 composer 安装了 google 客户端库。 https://github.com/googleapis/google-api-php-client

由于google我的业务库是分开的,所以我使用这个程序。 https://developers.google.com/my-business/samples

生成 404 的步骤是...

    $client = new \Google_Client();
    $client->setApplicationName("post_dev");       // app name
    $client->setApprovalPrompt('force');
    $client->setAccessType('offline');
    $client->setAccessToken($credential);
    $client->addScope("https://www.googleapis.com/auth/business.manage");                                                                                        
    $client->addScope("https://www.googleapis.com/auth/plus.business.manage");
    $gmbService = new \Google_Service_MyBusiness($client);
    $results = $gmbService->accounts->listAccounts();   

变量 $credential 具有以下值。

client_id
client_secret
access_token
expires_in
refresh_token

执行程序后,出现如下 404 错误。

Google_Service_Exception[
  404
]: {
  "error": {
    "code": 404,
    "message": "Method not found.",
    "errors": [
      {
        "message": "Method not found.",
        "domain": "global",
        "reason": "notFound"
      }
    ],
    "status": "NOT_FOUND"
  }
}

此错误与您的访问令牌无关。它找不到您正在使用的方法。 Google_Service_MyBusiness 不是 Google api php 客户端库的一部分。

my Business API 与其他 api 不同,它未列在可通过 Discovery API 获得的 API 目录中,它需要开发人员密钥和项目验收进入我的业务。因为库生成脚本运行s.

时无法生成

我正在通过一些渠道来更新该文档页面。

2018 年 11 月 1 日团队备注

有一个 tool 可以帮助开发人员维护他们自己版本的此类服务 类。当它准备就绪并且您有一个启用了“我的业务”的项目时,您应该能够 运行:

export API_KEY=yourkey
bin/generate 'https://mybusiness.googleapis.com/$discovery/rest?version=v4&key=$API_KEY' generated-output

然后您可以将 generated-output/mybusiness-v4 的内容移动到包含路径中您想要的任何位置。 众所周知,随着新版本的推出,这一发现 URL 会发生变化,因此请密切关注 https://developers.google.com/my-business/reference/rest/

我在等这件事的进展。

我无法调用 API 的原因是“我的公司已经有一个白名单项目可以访问 Google 我的业务 API。目前,他们只是每个企业将一个项目列入白名单。”。因此,我无法调用 API.

发生这种情况是因为您尝试使用非白名单项目与 Google 我的业务 API 进行交互。

我遇到了同样的问题。就我而言,我提交了我的项目以加入白名单以解锁 Google 我的业务 API 库。

然后,几周后,我在同一个 Google Cloud Platform 帐户下创建了一个新项目,只是为了设置一个更合适的名称。这就是问题的根源!

即使您看到 GMB 库在帐户级别启用,它也只能在 PROJECT 级别工作。这就是您收到 404 错误的原因。

所以,我将所有内容都切换到我的原始项目(同意屏幕设置、Oauth 客户端等)...在我的本地主机应用程序上也是如此,使用 Laravel Lumen 7 开发。

经过这几项更改后,一切正常!

注意: Google 仅允许您将每个帐户的 1 个项目列入白名单!如果您的 project/application 获得了 Google 的批准,请使用它!而是创建新的。

到目前为止,我可以在这里使用 PHP 库 - https://developers.google.com/my-business/samples/previousVersions

但上面的答案是一个巨大的帮助 - 我有完全相同的问题,已经“整理”了我的项目 - 在被授予访问 Google 我的业务 API 并看到它之后可用于我的其他项目 我错误地认为我的其他项目将能够使用它 - 错了!很高兴我在这里找到了答案。幸运的是,我能够恢复我删除的项目,并使用它立即工作。