php
  • google-plus
  • google-api-php-client
  • 2013-04-05 54 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密鑰是否正確,但我會建議使用快速入門示例中演示的客戶端庫。

    相關問題