Расположение Google MyBusiness API PHP - PullRequest
0 голосов
/ 16 мая 2019

это моя первая встреча с Google MyBusiness API.Я пытаюсь получить местоположение учетной записи, но у меня ничего нет.

У меня нет прямого доступа к учетной записи, мой клиент дал мне доступ к API через файл json.

$client = new Google_Client();
$client->useApplicationDefaultCredentials();
$client->addScope('https://www.googleapis.com/auth/plus.business.manage');

$service = new Google_Service_MyBusiness($client);
$accounts = $service->accounts->listAccounts();

, и я не могуесть какая-либо ошибка, просто Google_Service_MyBusiness_ListAccountsResponse объект, затем даю foreach на этот объект, и я могу получить информацию об учетной записи:

object(Google_Service_MyBusiness_Account)[94]
  protected 'internal_gapi_mappings' => 
    array (size=0)
      empty
  public 'accountName' => null
  public 'accountNumber' => null
  public 'name' => string 'accounts/XXXXXXXXXXXXXXXXXXXXX' (length=30)
  protected 'organizationInfoType' => string 'Google_Service_MyBusiness_OrganizationInfo' (length=42)
  protected 'organizationInfoDataType' => string '' (length=0)
  public 'permissionLevel' => null
  public 'profilePhotoUrl' => string '.../photo.jpg' (length=94)
  public 'role' => null
  protected 'stateType' => string 'Google_Service_MyBusiness_AccountState' (length=38)
  protected 'stateDataType' => string '' (length=0)
  public 'type' => string 'PERSONAL' (length=8)
  protected 'modelData' => 
    array (size=0)
      empty
  protected 'processed' => 
    array (size=0)
      empty
  public 'state' => 
    object(Google_Service_MyBusiness_AccountState)[84]
      protected 'internal_gapi_mappings' => 
        array (size=0)
          empty
      public 'status' => string 'UNVERIFIED' (length=10)
      protected 'modelData' => 
        array (size=0)
          empty
      protected 'processed' => 
        array (size=0)
          empty

Теперь, когда я пытаюсь:

$name = $account->getName(); //accounts/XXXXXXXXXXXXXXXXXXXXX
$service->accounts_locations->listAccountsLocations($name);

я получаюпочти пустой Google_Service_MyBusiness_ListLocationsResponse объект:

object(Google_Service_MyBusiness_ListLocationsResponse)[88]
  protected 'collection_key' => string 'locations' (length=9)
  protected 'internal_gapi_mappings' => 
    array (size=0)
      empty
  protected 'locationsType' => string 'Google_Service_MyBusiness_Location' (length=34)
  protected 'locationsDataType' => string 'array' (length=5)
  public 'nextPageToken' => null
  public 'totalSize' => null
  protected 'modelData' => 
    array (size=0)
      empty
  protected 'processed' => 
    array (size=0)
      empty

Что не так?Я делаю что-то не так или у меня неправильные учетные данные (?).Как я могу проверить / спросить клиента, чтобы он дал мне правильный доступ.Может ли он проверить имя учетной записи на своей панели или что-то еще?

1 Ответ

2 голосов
/ 23 мая 2019

Вы, похоже, пытаетесь использовать служебную учетную запись. Согласно документации Basic , вам необходимо создать клиент Oauth2 и использовать его для входа в учетную запись, которая имеет доступ к учетной записи моей компании.

Сервисные аккаунты не поддерживаются Google MyBusiness API в соответствии с документацией.

...