Метод не найден. ошибка при использовании Google My Business API - PullRequest
1 голос
/ 10 июля 2020

Я получаю 404 из функции списка учетных записей с помощью клиента google api.

У меня уже есть токен доступа с помощью OAuth2.0. В дополнение к этому я уже включаю Google My Business API через https://console.developers.google.com для OAuth 2.0.

■ Вот environemnt

PHP 7.2 .3

Ubuntu 18.04 LTS

google / apiclient ^ 2.5

Я хочу выполнить следующую функцию. https://developers.google.com/my-business/reference/rest/v4/accounts/list

Я устанавливаю клиентскую библиотеку Google, используя composer по следующей ссылке. 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"
  }
}

Ответы [ 3 ]

0 голосов
/ 17 июля 2020

Причина, по которой я не могу вызвать API, заключается в том, что «у моей компании уже есть проект из белого списка для доступа к Google My Business API. В настоящее время они вносят в белый список только один проект для каждой компании». Поэтому мне не удалось вызвать API.

0 голосов
/ 17 июля 2020

Это происходит из-за того, что вы пытаетесь взаимодействовать с Google My Business API, используя проект, не внесенный в белый список.

Я столкнулся с той же проблемой. В моем случае я отправил свой проект в белый список, чтобы разблокировать библиотеку Google My Business API.

Затем, через пару недель после этого, я создал новый проект под той же учетной записью Google Cloud Platform, просто чтобы установить более подходящий название. ВОТ было root проблемы!

Даже если вы видите, что библиотека GMB включена на уровне учетной записи, она работает только на уровне ПРОЕКТА. Вот почему вы получаете ошибку 404.

Итак, я переключил все на свой исходный проект (настройки экрана согласия, клиенты Oauth и т. Д. c) ... То же самое в моем приложении localhost, разработанном с помощью Laravel Lumen 7.

После этих парных изменений все заработало!

ПРИМЕЧАНИЕ: Google позволяет вам занести в белый список ТОЛЬКО 1 проект для каждой учетной записи! Если ваш проект / приложение были одобрены Google, ИСПОЛЬЗУЙТЕ ЭТО! Вместо создания новых.

0 голосов
/ 10 июля 2020

Эта ошибка не имеет ничего общего с вашим токеном доступа. Он не может найти метод, который вы используете. Google_Service_MyBusiness не является частью клиентской библиотеки Google api php.

API my Business отличается от других API, он не указан в каталоге API, доступном через Discovery API, и для него требуется ключ разработчика и принятие проекта в My Business. Там его невозможно сгенерировать при запуске скрипта генерации библиотеки.

Я иду по некоторым каналам, чтобы обновить эту страницу документации.

примечание от команды 1 ноября 2018 г.

На подходе появится инструмент 1010 *, который поможет разработчикам поддерживать свою собственную версию таких классов обслуживания. Когда он будет готов и у вас будет проект с включенным My Business, вы сможете запустить:

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

, а затем вы можете переместить содержимое сгенерированного вывода / mybusiness-v4 в любое место в вашем включении. дорожка. Известно, что этот URL-адрес обнаружения меняется по мере выхода новых версий, поэтому следите за https://developers.google.com/my-business/reference/rest/

Я жду, чтобы услышать статус этого.

...