【问题标题】:Cannot update user information using Google PHP API Client library无法使用 Google PHP API 客户端库更新用户信息
【发布时间】:2014-09-08 06:26:43
【问题描述】:

我正在尝试更新 Google Apps 目录中的用户电话号码。目前我的 API 能够检索用户的信息,但是当我尝试设置他们的电话号码时,它只是默默地失败了。目录中的值不会更新。我可能只是错过了一个实际发送数据的方法,但我一直找不到这样的方法。

我目前的范围是:

$scopes = array('https://www.googleapis.com/auth/admin.directory.user', 'https://www.googleapis.com/auth/admin.directory.group', 'https://www.googleapis.com/auth/admin.directory.orgunit');

我保存电话号码的尝试多种多样。我试过了:

$work_phone = new \Google_Service_Directory_UserPhone();
        $work_phone->setType('work');
        $work_phone->setValue($work_number);
$google_user->setPhones(array($work_phone));

$google_user->setPhones(array(array(
          "type"=>"work",
          "value"=>$work_number
        )));

以及用于类型数组结构的各种值。任何帮助将不胜感激。

【问题讨论】:

    标签: php google-api-php-client


    【解决方案1】:

    为了更新目录中的电话号码,您需要将信息发送回 Google。使用您的代码:

    $google_user->setPhones(array($work_phone));
    

    您正在正确设置对象的电话数组。但是,您仍然需要更新该用户。你说的没错:

    我可能只是缺少一个实际发送数据的方法

    你需要做这样的事情:

    $work_phone = new \Google_Service_Directory_UserPhone();
            $work_phone->setType('work');
            $work_phone->setValue($work_number);
    $google_user->setPhones(array($work_phone));
    
    $serviceDirectory = new Google_Service_Directory($client);
    $serviceDirectory->users->update($google_user);
    

    相关 API 文档可以在这里找到:https://developers.google.com/admin-sdk/directory/v1/reference/users/update

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-28
      • 2018-03-22
      • 1970-01-01
      • 2016-04-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多