$_GET['oauth_token'] , 'oauth_token_secret' => $_SESSION['oauth_token_secret'] , 'oauth_verifier' => $_GET['oauth_verifier']) ) ; // 配列に変換 $query = get_query( $data ) ; // セッション終了 $_SESSION = array() ; session_destroy() ; // エラー判定 if( !$query ) { $html .= '

アクセストークンの取得に失敗しました…。もう一度、認証をするには、こちらをクリックして下さい。

' ; } else { // 情報の整理 $url_name = rawurldecode( $query['url_name'] ) ; $display_name = rawurldecode( $query['display_name'] ) ; $oauth_token = rawurldecode( $query["oauth_token"] ) ; $oauth_token_secret = rawurldecode( $query['oauth_token_secret'] ) ; // 出力する $html .= '

実行結果

' ; $html .= '
' ; $html .= '
ユーザーID
' ; $html .= '
' . $url_name . '
' ; $html .= '
名前
' ; $html .= '
' . $display_name . '
' ; $html .= '
アクセストークン
' ; $html .= '
' . $oauth_token . '
' ; $html .= '
アクセストークンシークレット
' ; $html .= '
' . $oauth_token_secret . '
' ; $html .= '
' ; } } // 初回アクセス時、リクエストトークンを取得して、はてなの認証画面にリダイレクトする else { // リクエストトークンを取得する $data = hatena_oauth( 'https://www.hatena.com/oauth/initiate' , 'POST' , array( 'scope' => $scope ) ) ; // 取得した文字列を変換 if( !$query = get_query( $data ) ) { $html .= '

リクエストトークンの取得に失敗しました…。もしかしたら「コンシューマーキー」「コンシューマーシークレット」「権限」の設定が違っているかもしれません…。

' ; } else { // セッションに保存 session_regenerate_id( true ) ; $_SESSION['oauth_token_secret'] = rawurldecode( $query['oauth_token_secret'] ) ; // 認証画面へリダイレクト header( 'Location: https://www.hatena.ne.jp/oauth/authorize?oauth_token=' . $query['oauth_token'] ) ; } } ?> はてなブックマークでOAuth認証をするサンプルデモ

配布元: Syncer