批量用户名通过Google API修改和删除

时间:2017-02-06 07:25:56

标签: php google-api google-api-php-client google-admin-sdk google-directory-api

我正在尝试通过Google API修改和删除用户帐户。我们的目标是在我们的网页中使用以下API。

删除用户:删除https://www.googleapis.com/admin/directory/v1/users/userKey

在浏览器中调用上述API网址时,我们收到错误401"需要登录" 我们需要指导如何调用google API URL以进行删除&通过Google API重命名用户。

我们也遵循以下URL中给出的步骤。用于创建Api密钥和OAuth 2.0客户端ID。之后,它需要用户批准才能访问令牌

https://developers.google.com/admin-sdk/directory/v1/guides/authorizing

我也一直在访问令牌。

请指导我们调用Google API的步骤

1 个答案:

答案 0 :(得分:0)

请参阅: https://developers.google.com/admin-sdk/directory/v1/reference/users/update

假设您在管理上执行此操作,则可以使用域范围的委派服务帐户。

https://developers.google.com/api-client-library/php/auth/service-accounts

此示例显示如何为现有用户更新名称。

$impersonateUser    = 'adminWithRolesToMakeChanges@mydomain.edu';

define('SCOPES', implode(' ', array( Google_Service_Directory::ADMIN_DIRECTORY_USER ) ));
putenv('GOOGLE_APPLICATION_CREDENTIALS=' . '/path/creds.json' );

$client = new Google_Client();

$client->useApplicationDefaultCredentials(); 
$client->setScopes(SCOPES); 
$client->setSubject($impersonateUser); 

$dir = new Google_Service_Directory($client);

$gPrimaryEmail = 'joeschmo1@mydomain.edu';
$firstName     = 'Frank';
$lastName      = 'Johnson';

$gNameObject = new Google_Service_Directory_UserName(
                      array(
                         'familyName' =>  $lastName,
                         'givenName'  =>  $firstName,
                         'fullName'   =>  "$firstName $lastName"));


$gUserObject = new Google_Service_Directory_User( 
                      array( 
                         'name' => $gNameObject));

$results = $dir->users->update($gPrimaryEmail, $gUserObject);

print_r($results);