我正在尝试使用 Google People API 添加和更新我的 Google 联系人。我已经使用 Google 文档 ( https://developers.google.com/people/v1/getting-started )中给出的示例代码几乎一字不差地设置了 API 。我收到以下代码行的错误,该代码再次逐字逐句地来自文档:
$profile = $people_service->people->get('people/me', array('personFields' => 'names,emailAddresses'));
错误如下:
Fatal error: Uncaught exception 'Google_Exception' with message '(get) unknown parameter: 'personFields'' in /home/danbak15/bakerlegalservicesmo.com/office/google-api-php-client-2.2.0/src/Google/Service/Resource.php:147 Stack trace: #0 /home/danbak15/bakerlegalservicesmo.com/office/google-api-php-client-2.2.0/vendor/google/apiclient-services/src/Google/Service/People/Resource/People.php(52): Google_Service_Resource->call('get', Array, 'Google_Service_...') #1 /home/danbak15/bakerlegalservicesmo.com/office/BLScontacts.php(36): Google_Service_People_Resource_People->get('people/me', Array) #2 {main} thrown in /home/danbak15/bakerlegalservicesmo.com/office/google-api-php-client-2.2.0/src/Google/Service/Resource.php on line 147
我看到了一个类似问题的答案(访问 google-people API 时无法访问我的个人资料数据)建议使用 Google_Service_PeopleService 类而不是文档中要求的 Google_Service_People 类。但是,当我尝试这样做时,我收到另一个错误:
Fatal error: Uncaught exception 'Google_Service_Exception' with message '{ "error": { "code": 401, "message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.", "errors": [ { "message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.", "domain": "global", "reason": "unauthorized" } ], "status": "UNAUTHENTICATED" } } ' in /home/danbak15/bakerlegalservicesmo.com/office/google-api-php-client-2.2.0/src/Google/Http/REST.php:118 Stack trace: #0 /home/danbak15/bakerlegalservicesmo.com/office/google-api-php-client-2.2.0/src/Google/Http/REST.php(94): Google_Http_REST::decodeHttpResponse(Object(GuzzleHttp\Psr7\Response), Object(GuzzleHttp\Psr7\Request), 'G in /home/danbak15/bakerlegalservicesmo.com/office/google-api-php-client-2.2.0/src/Google/Http/REST.php on line 118
在这一点上,我完全不知所措。我想使用 Google 联系人来跟踪我的联系人,并希望能够通过 PHP 使用 Google 联系人,以便我可以将它们添加到我的数据库中。任何人都可以对此有所了解吗?预先感谢您的任何帮助!
更新:我尝试将页面移动到我计算机上的本地服务器(忘记谷歌将页面重定向到我的网站),看看我是否可以从不同的服务器获得不同的结果。不知何故,神奇的是,当我尝试从我的网站访问脚本时,它工作了大约 15-30 分钟左右。然后,我得到了和以前一样的错误。如果我从本地主机服务器运行该页面,我将陷入无休止的授权重定向循环(考虑到 Google 将我重定向到在线页面,这是意料之中的),但随后在线页面将工作一段时间。
在这一点上,我无法开始猜测问题出在哪里。这对其他人有意义吗?