2017-10-02 17 views
0

私はyahooメールから連絡先を取得する必要があるプロジェクトに取り組んでいます。私はOauth2.0を使用しています。私はaccess_tokenと、https:// api.login.yahoo.com/oauth2/get_tokenからcurlを経由して、すべてgrant_typeを渡し、すべての必要なパラメータは正常です。しかし、問題はrefresh_tokenxoauth_yahoo_guidからです。私はこのURLにリダイレクトしていますhttps://social.yahooapis.com/v1/user/ {xoauth_yahoo_guid}/contacts?format=json。私はCodeIgniterの中で働いていると私は、このタスクは、AJAXやJavaScriptで行われる。しかし、私は多くのことを試してみたが、残念ながら何も私のために働いていない必要がYahoo Oauth 2 PHP

{"error":{"@lang":"en-US","@uri":" http://yahoo.com ","description":"Not Authorized - Either YT cookies or a valid OAuth token must be passed for authorization","detail":"Not Authorized - Either YT cookies or a valid OAuth token must be passed for authorization"}}

- :私はこの出力を取得しています。この問題を取り除く手助けをしてください。

ありがとうございました。

答えて

0

最後に私は答えを得ました。私は次のコードでヘッダー

$headers= array( 'Authorization: Bearer '.< access_token >, 'Accept: application/json', 'Content-Type: application/json' );

を送信する必要があります: -

$ch = curl_init(); 
    $url = "https://social.yahooapis.com/v1/user/me/contacts?format=json"; 
    curl_setopt($ch, CURLOPT_URL,$url); 
    curl_setopt($ch, CURLOPT_POST, false); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLOPT_HEADER, false); 
    $output3 = curl_exec ($ch); 
    curl_close ($ch); // close curl handle 
    $finalresult = json_decode($output3); 
    echo'<pre>';print_r($finalresult);