php
  • google-plus
  • google-api-php-client
  • 2013-04-05 55 views 2 likes 
    2

    我试图从Google加上通过API获取所有朋友的列表。代表我正在执行此操作的用户以前授权我的请求,并且我获得了身份验证令牌。我试了下面的代码在PHP:接收HTTP 401未经授权在进行Google plus API调用时

    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未经授权。我如何证明用户授权我的操作或我做错了什么? 任何帮助,非常感谢。

    回答

    3

    您需要认证用户使用特殊关键字“我”,所以使用您的简单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密钥是否正确,但我会建议使用快速入门示例中演示的客户端库。

    相关问题