无法使用Google PHP API客户端库更新用户信息

时间:2014-09-08 06:26:43

标签: php google-api-php-client

我正在尝试更新Google Apps Directory上的用户电话号码。目前我有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
        )));

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

1 个答案:

答案 0 :(得分:0)

要更新目录中的电话号码,您需要将信息发送回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