Аргумент 1, передаваемый в Google_Service_Directory_Groups_Resource :: insert, должен быть экземпляром Google_Service_Directory_Group,

Я пытаюсь создать группу, используя Google Directory API.

Но я получаю эту ошибку

Исправляемая фатальная ошибка: аргумент 1 передан
Google_Service_Directory_Groups_Resource :: insert () должен быть экземпляром
Google_Service_Directory_Group, заданный массив, вызванный в
C: \ xampp \ htdocs \ groups \ index.php в строке 94 и определен в
C: \ XAMPP \ HTDOCS \ группы \ Google-апи-PHP-клиент \ SRC \ Google \ Service \ Directory.php
по линии 2196

Я использовал этот код

<?php

include_once 'google-api-php-client/src/Google/autoload.php';

$clientId = 'jkdjdjkdjkdjk';$serviceAccountName = 'gserviceaccount.com';

$delegatedAdmin = 'myemailid@gmail.com';

$keyFile = 'myfile.p12';$appName = 'Example App';$scopes = array(
'https://www.googleapis.com/auth/admin.directory.group'
);$creds = new Google_Auth_AssertionCredentials(
$serviceAccountName,
$scopes,
file_get_contents($keyFile)
);

$creds->sub = $delegatedAdmin;

/**
* Create Google_Client for making API calls with
*/
$client = new Google_Client();
$client->setApplicationName($appName);
$client->setClientId($clientId);
$client->setAssertionCredentials($creds);$dir = new Google_Service_Directory($client);$postBody = array('email'=>'sales_group@domain.com');
$list = $dir->groups->insert($postBody);
print_r($list);

0

Решение

Вам нужно изменить ваш массив в $ postBody для:

$postBody = new Google_Service_Directory_Group();
$postBody->email = 'sales_group@domain.com';

$list = $dir->groups->insert($postBody);
print_r($list);
0

Другие решения

Других решений пока нет …