【发布时间】:2014-11-21 08:45:21
【问题描述】:
我一直在尝试将成员添加到我的 google 应用程序组。我正在尝试使用以下代码,但它会引发错误。不知道哪里做错了。
include_once 'api-client/autoload.php';
$clientId = 'xxxxxxxxxxxxxxxxx.apps.googleusercontent.com';
$serviceAccountName = 'xxxxxxxxxxxxxxxxxxx@developer.gserviceaccount.com';
$delegatedAdmin = 'superadmin@domain.com';
$keyFile = 'mw-gxxxxxxxx.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;
$client = new Google_Client();
$client->setApplicationName($appName);
$client->setClientId($clientId);
$client->setAssertionCredentials($creds);
$dir = new Google_Service_Directory($client);
$member = new Google_Service_Directory_Member(array('name@domain.com',
'kind' => 'admin#directory#member',
'role' => 'MEMBER',
'type' => 'USER'));
$list = $dir->members->insert('01tuee7433xxxxx', $member);
错误:
Fatal error: Uncaught exception 'Google_Service_Exception' with message
'Error calling POST https://www.googleapis.com/admin/directory/v1/groups/01tuee7433v8xwz/members: (400) Missing required field: memberKey'
【问题讨论】:
-
Missing required field: memberKey -
放在哪里以及如何放置?
-
我使用的是相同的代码。但它给了我这个错误 - 调用未定义的方法 Google_Client::setAssertionCredentials()
标签: php google-api google-api-php-client google-admin-sdk google-directory-api