我正在尝试通过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未经授权。如何证明用户授权我的操作或我做错了什么? 非常感谢任何帮助。
答案 0 :(得分: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] /人/可见密钥= XXXX?';
要验证您的API密钥是否正确,但我建议您使用快速入门示例中演示的客户端库。