3

我正在尝试通过 API 从 Google plus 获取我所有朋友的列表。我代表其执行此操作的用户先前授权了我的请求,并且我获得了身份验证令牌。我在php中尝试了以下代码:

function CallAPI() {
  $opts = array(
    "http" => array(
      "method" => "GET"
    )
  );

  $url = 'https://www.googleapis.com/plus/v1/people/me/people/visible?key=XXXX';    
  $context = stream_context_create($opts);
  $response = file_get_contents($url, false, $context);
  var_dump($response);
}

但我一直收到 HTTP 请求失败!HTTP/1.0 401 未经授权。我如何证明用户授权了我的操作或我做错了什么?任何帮助深表感谢。

4

1 回答 1

4

您需要对用户进行身份验证才能使用特殊关键字“me”,因此使用您的简单 API 密钥将不起作用(假设传递的密钥是您的简单密钥)。相反,您需要获取访问令牌并传递它。

有关如何使用 PHP 客户端库在 PHP 中执行此操作的一个很好的示例,请尝试快速入门:

https://developers.google.com/+/quickstart/php


如果您已经获得访问令牌,则可以调用 tokeninfo 传递访问令牌以获取有关用户与其关联的更多信息:

https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=ya29.xxxxxxxx ...

此时,您可以调用:'https://www.googleapis.com/plus/v1/people/[useridfromaccesstoken]/people/visible?key=XXXX';

要验证您的 API 密钥是否正确,但我建议使用客户端库,如快速入门示例中所示。

于 2013-04-05T14:48:53.560 回答