3

我正在使用PHP Google API 客户端库从使用 OAuth2 的 Google 帐户中检索用户信息。然而,尽管谷歌的文档说明了什么,我似乎无法访问用户的国家时区信息,即使成功返回了令牌并且可以从userinfo.profile范围中获取所有其他信息。

我在这里使用了继承人库中提供的示例代码,如果我var_dump($user)在该文件的第 49 行,我会得到以下输出(出于隐私考虑而进行了编辑):

array(10) {
  ["id"]=>
  string(21) "123" /* Redacted */
  ["email"]=>
  string(13) "XXX@gmail.com"  /* Redacted */
  ["verified_email"]=>
  bool(true)
  ["name"]=>
  string(14) "Sherif Ramadan"
  ["given_name"]=>
  string(6) "Sherif"
  ["family_name"]=>
  string(7) "Ramadan"
  ["link"]=>
  string(27) "https://plus.google.com/XXX"  /* Redacted */
  ["picture"]=>
  string(0) "https://lh3.googleusercontent.com/-XXX-Zs/AAAAAAAAAA/AAAAAAAAA/cmBwzMLdYqM/photo.jpg"  /* Redacted */
  ["gender"]=>
  string(4) "male"
  ["locale"]=>
  string(2) "en"
}

如您所见,没有可用的时区或国家信息。我也尝试了各种范围,例如https://www.googleapis.com/auth/plus.login, https://www.googleapis.com/auth/plus.me, https://www.googleapis.com/auth/userinfo.email, https://www.googleapis.com/auth/userinfo.profilehttps://www.googleapis.com/auth/userinfo,但没有运气。它们似乎都提供了相同的结果。

我尽可能确保会话/缓存和其他方面不是一个因素。甚至更新已采取的身份验证。没有任何效果。

任何对如何通过适用于 PHP 的 Google API 客户端库正确检索此信息有所了解的人都会有很大帮助。

4

2 回答 2

3

Google Calendar API -> CalendarList -> list 方法返回我使用的用户日历时区。我同意,时区应该是 plus->people->get 的一部分。

文档位于: https ://developers.google.com/google-apps/calendar/v3/reference/calendarList/list

于 2014-05-17T05:17:05.123 回答
1

事实证明,谷歌根本没有提供这些信息,而且他们的文档已经过时了。

于 2013-09-27T22:56:39.980 回答