Yahoo APIでOAuthを利用してみる 2

Yahooのウォッチリスト取得に成功しました!
appidは要らないみたいですね~。

http://www.php.net/manual/ja/oauth.examples.fireeagle.php

を参考にyahooで動くように変更してみました。
是非使ってみてください。

<?php
$req_url = 'https://auth.login.yahoo.co.jp/oauth/v2/get_request_token';
$callback_url = 'このファイルのURLです!';
$authurl = 'https://auth.login.yahoo.co.jp/oauth/v2/request_auth';
$acc_url = 'https://auth.login.yahoo.co.jp/oauth/v2/get_token';
$api_url = 'http://auctions.yahooapis.jp/AuctionWebService/V2/closeWatchList';


$conskey = 'your_consumer_key';// yahooで取得したconsumer key
$conssec = 'your_consumer_secret';// yahooで取得したconsumer secret

session_start();

// セッションの state の値が1の場合、次のリクエストには oauth_token の値が含まれているはずである
// やり直す時は stateを 0 にします。
if(!isset($_GET['oauth_token']) && $_SESSION['state']==1) $_SESSION['state'] = 0;
try {

 // OAUTH_AUTH_TYPE_AUTHORIZATION に変更
 // ヘッダーに Authorization: OAuth で送信します。

 $oauth = new OAuth($conskey,$conssec,OAUTH_SIG_METHOD_HMACSHA1,OAUTH_AUTH_TYPE_AUTHORIZATION);
  $oauth->enableDebug();
  if(!isset($_GET['oauth_token']) && !$_SESSION['state']) {
// callback urlを指定。
    $request_token_info = $oauth->getRequestToken($req_url,$callback_url);
    $_SESSION['secret'] = $request_token_info['oauth_token_secret'];
    $_SESSION['state'] = 1;
    header('Location: '.$authurl.'?oauth_token='.$request_token_info['oauth_token']);
    exit;
// ここでYahooの認証へ移動します!

  } else if($_SESSION['state']==1) {
// Yahoo戻ってくると
// $callback_url?oauth_token=xxxxxxx&oauth_verifier=xxxx の形で帰ってきます!
    $oauth->setToken($_GET['oauth_token'],$_SESSION['secret']);
    $access_token_info = $oauth->getAccessToken($acc_url);
    $_SESSION['state'] = 2;
    $_SESSION['token'] = $access_token_info['oauth_token'];
    $_SESSION['secret'] = $access_token_info['oauth_token_secret'];
  }
//  var_dump($_SESSION);
  $oauth->setToken($_SESSION['token'],$_SESSION['secret']);
  $oauth->fetch($api_url);
//  $json = json_decode($oauth->getLastResponse());
  print_r($oauth->getLastResponse());
// 無事終了したウォッチリストデータを取得できました!
} catch(OAuthException $E) {
  print_r($E);
}

This entry was posted on 火曜日, 7月 20th, 2010 at 12:38 AM and is filed under OAuth. You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.

Unityによるゲームを公開しております iOS/Android
https://itunes.apple.com/jp/app/lost-knight-3d-action/id900917032
https://play.google.com/store/apps/details?id=com.groundroad.runknight

各種開発支援・機能開発等小さいお仕事などもお請けしております。
unity開発支援, PHPシステム開発, javascript/html5 フロント開発, titanium mobileアプリ開発
お気軽にお問い合わせください
大崎・五反田近郊での対面でのお打ち合わせはいつでも可能です。