为了账号安全,请及时绑定邮箱和手机立即绑定

未找到方法。使用 Google 我的商家 API 时出错

未找到方法。使用 Google 我的商家 API 时出错

PHP
慕后森 2023-07-21 18:12:43
我使用 google api 客户端从帐户列表函数中获取 404。我已经使用 OAuth2.0 获得了访问令牌。除此之外,我已经通过https://console.developers.google.com为 OAuth 2.0 启用了 Google My Business API。■这里是环境PHP 7.2.3Ubuntu 18.04 LTS谷歌/apiclient ^2.5我想要执行的功能如下。 https://developers.google.com/my-business/reference/rest/v4/accounts/list我使用以下链接中的作曲家安装谷歌客户端库。 https://github.com/googleapis/google-api-php-client由于谷歌我的商业图书馆是分开的,我使用这个程序。 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_idclient_secretaccess_tokenexpires_inrefresh_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"  }}
查看完整描述

4 回答

?
MM们

TA贡献1886条经验 获得超2个赞

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



查看完整回答
反对 回复 2023-07-21
?
哔哔one

TA贡献1854条经验 获得超8个赞

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

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


查看完整回答
反对 回复 2023-07-21
?
qq_笑_17

TA贡献1818条经验 获得超7个赞

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

我的业务 API 与其他 api 不同,它未列在通过 Discovery API 提供的 API 目录中,并且需要开发人员密钥并接受“我的业务”中的项目。因为库生成脚本运行时无法生成它。

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

团队注释 2018 年 11 月 1 日

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

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/

我正在等待了解此事的进展。


查看完整回答
反对 回复 2023-07-21
?
HUWWW

TA贡献1874条经验 获得超12个赞

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

我遇到了同样的问题。就我而言,我提交了白名单项目以解锁“Google 我的商家”API 库。

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

即使您看到在帐户级别启用了 GMB 库,它也只能在项目级别运行。这就是您收到 404 错误的原因。

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

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

注意: Google 只允许您将每个帐户 1 个项目列入白名单!如果您的项目/应用程序已获得 Google 批准,请使用它!相反,创造新的。


查看完整回答
反对 回复 2023-07-21
  • 4 回答
  • 0 关注
  • 140 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信