Yahoo OpenID Attribute Exchange をPHPで利用してみる!
7月 26th, 2010
まずは↓この通りにopenidを使ってみてください。
http://techblog.yahoo.co.jp/web/openid/10yahooopenid_rp/
↓次に、こちらPHPじゃないですが、画面遷移は同じです!
Yahoo OpenID AX Attribute Exchange!
http://techblog.yahoo.co.jp/web/openid/openid_axyahoo/
でphpは何を変えるかというと
try_auth.php(リクエスト用を修正です!)
require_once “Auth/OpenID/AX.php”;
でAXも利用可能に。
さらに function run()内の
$auth_request = $consumer->begin($openid);
の下あたりに AXを追加!
画像とfriendlyをnicknameとしてとってみる。
$ax_request = new Auth_OpenID_AX_FetchRequest();
$ax_request->add(
Auth_OpenID_AX_AttrInfo::make(’http://axschema.org/media/image/default’,
1,true,’image’));
$ax_request->add(
Auth_OpenID_AX_AttrInfo::make(’http://axschema.org/namePerson/friendly’
,1,true,’nickname’));
で早速Yahooへログイン!同じく try_auth.phpからYahooへリダイレクトされる
finish_auth.phpへ返されるパラメータに
["openid_ax_value_image"]=> string(54) “https://s.yimg.jp/images/login/openid/img/01/pic90.gif”
["openid_ax_value_nickname"]=> string(12) “ヤフーのID”
の2つが入ってきます。
だいたい問題ないので、次はphpのセッションを少し修正してサービスへ導入します。
TokyoTyrant TokyoCabinet 2GBファイルサイズ制限が・・・
7月 24th, 2010
ファイルサイズが2GBで止まってしまったので
調べたら tokyocabinet のconfigureで –enable-off64をつけないといけないようでした。
# ./configure –enable-off64
2GBでファイルサイズエラーになってつながらなくなっていたので・・・調査。
システム的には2GBは問題ないようだけど。。。と調べたら configure時に”–enable-off64”をしていないといけなかったようでした。
でtokyotyrantをrestart.ここでインデックスファイルは消して再構築しました~
ファイルサイズ LFS Large File Support
Yahoo APIでOAuthを利用してみる 2
7月 20th, 2010
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を指定。
[...]
php oauth-1.0.0 をインストール
7月 19th, 2010
http://php.net/manual/ja/book.oauth.php
http://pecl.php.net/package/oauth
#pecl install oauth-1.0.0
…
Build process completed successfully
Installing ‘/usr/lib/php/modules/oauth.so’
install ok: channel://pecl.php.net/oauth-1.0.0
configuration option “php_ini” is not set to php.ini location
You should add “extension=oauth.so” to php.ini
#vim /etc/php.d/oauth.ini
extension=oauth.so
#php -i
OAuth
OAuth support => enabled
PLAINTEXT support => not supported
RSA-SHA1 support => enabled
HMAC-SHA1 support => enabled
Request engine support => php_streams
source version => $Id: oauth.c 300018 2010-06-01 01:50:41Z datibbaw $
version => 1.0-dev
完了
Yahoo APIでOAuthを利用してみる。
7月 19th, 2010
Yahoo!デベロッパーネットワーク – OAuth - フロー.
http://developer.yahoo.co.jp/other/oauth/
http://e.developer.yahoo.co.jp/webservices/register_application
アプリケーションIDの登録に、OAuthを利用するを選択して、スコープを選びます。
そして利用ドメインを入力して「確認」でドメイン認証に入ります。
・ドメイン認証
サイトに指定されたファイルを設置するだけです。
・完了
Consumer Key
Consumer Secret
を教えてくれます!
Bid.lyで短縮URL
7月 10th, 2010
今さらですが、短縮URLをjsonpで取ってみました。
ApiDocumentation – bitly-api – bit.ly REST API method documentation – Project Hosting on Google Code.
http://bit.ly
でアカウントを作成してください。
ログインして以下のURLから
http://bit.ly/a/account
login
apiKey
を確認してご自身の情報を入れてください。
shortenで短縮します。scriptはこんな感じで。
<script type=”text/javascript”>
var Bitly = {
login: ‘ここにログインID’,
apiKey: ‘ここにAPIキーを’,
format: ‘json’,
shortenUrl: “http://api.bit.ly/v3/shorten”,
getUrl: function(){
}
shorten: function(longUrl) {
$.ajax({
type: “GET”,
[...]
OpenID使ってみる
7月 4th, 2010
Downloads for openids php-openid – GitHub.
http://techblog.yahoo.co.jp/web/openid/10yahooopenid_rp/
Yahoo OpenIDを使ってみます。