【问题标题】:How can I retrieve phone numbers from Google Directory API?如何从 Google Directory API 检索电话号码?
【发布时间】:2016-12-12 11:00:20
【问题描述】:

我正在使用带有 PHP 的 Directory API 来检索所有用户。 添加了电话号码的用户的响应如下所示:

Google_Service_Directory_User 对象([collection_key:protected] => nonEditableAliases [地址] => [agreedToTerms] => 1 [别名] => [changePasswordAtNextLogin] => [creationTime] => 2016-11-29T14:21:30.000Z [customSchemas] => [customerId] => 1234 [删除时间] => [电子邮件] => 数组 ( [0] => 数组 ( [地址] => test@companymail.com [primary] => 1 ) [1] => 数组 ( [address] => test@companymail.com ) ) [etag] => "tagg" [externalIds] => [hashFunction] => [id] => 12344 [ims] => [includeInGlobalAddressList] => 1 [ipWhitelisted] => [isAdmin] => [isDelegatedAdmin] => 1 [isMailboxSetup] => 1 [种类] => admin#directory#user [lastLoginTime] => 2016-12-12T10:13:31.000Z [nameType:protected] => Google_Service_Directory_UserName [nameDataType:protected] => [nonEditableAliases] => 数组 ([0] => test@companymail.com.test-google-a.com [1] => test@companymail.com ) [注释] => [orgUnitPath] => / [组织] => [密码] => [phones] => [primaryEmail] => test@companymail.com [relations] => [suspended] => [suspensionReason] => [thumbnailPhotoEtag] => [thumbnailPhotoUrl] => [网站] => [internal_gapi_mappings:protected] => 数组 () [modelData:protected] => 数组 ( [name] => 数组 ( [givenName] => TestNAme [familyName] => TestNAme [fullName] => TestNAme TestNAme ) ) [processed:protected] => 数组 ( ) )

电话号码是 5 天前设置的(它在那里),但正如您所见,“电话”数组是空的。

这就是我使用 API 的方式:

$directory_service = new Google_Service_Directory($client);
$params = array('domain' => $domain);
$results = $directory_service->users->listUsers($params);
$users = $results->getUsers();

我不知道出了什么问题。我需要启用任何设置吗? 如何获取用户的电话号码?

提前致谢。

【问题讨论】:

  • 用户删除了他们的电话号码?
  • 不,我正在为我的用户进行测试,所以我 100% 确定添加了电话号码。
  • 与您进行身份验证的用户是否有权查看您正在检查的用户?
  • 是的,API 让我可以查看所有用户及其详细信息(姓名、电子邮件),但即使我设置了一些电话号码,他们的电话始终是空的。单个用户的结果如下所示。
  • 假设它们都是 $domain 的一部分,那么对不起。

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


【解决方案1】:

您可能已经为域联系人添加了电话号码,但添加到了您自己的联系人数据中。这些将在联系人 UI 中显示与域联系人详细信息“合并”,并且对您来说是正确的。它们不会对其他人可见,也不会存储在域数据中。

这样做是为了测试:

  1. 选择域用户帐户并使用管理控制台用户 UI 为他们添加电话号码。管理控制台 > 用户 >(选择用户)> 帐户 > 联系信息 > 编辑 > 添加电话 > 点击更新用户。
  2. 要确认您的添加,请在此处使用 Try this API:https://developers.google.com/admin-sdk/directory/v1/reference/users/get 并在 userKey 中从 1(电子邮件地址)输入您的用户帐户名称,对于 viewType 选择 admin_view 并单击执行。

您应该会看到返回的 JSON 中的电话数据。一旦你能做到这一点,你就可以重新测试你的 PHP 代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-14
    • 1970-01-01
    • 2012-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多