OpensocialのRESTfulAPIでPUTメソッドを使うサンプル
    このエントリをはてなブックマークに登録

2010/9/29 水曜日 matsui Posted in PHP No Comments »

昨日に引き続きOpensocialネタです。

ソーシャルゲームなどを作成する際にOpensocialのRESTfulAPIを使うことがあります。

GETやPOSTの情報は、検索するとそれなりに出てきますし、サイト上にもサンプルがあったりするのですが、PUTメソッドやDELETEメソッドでの接続を要求されることがあります。
存在は何となく知っていたものの、そんなメソッドは当然使ったことはなく、検索してもサンプルも少なく困りました。

 

ということで、本日はOAuth署名付きのリクエストでPUTメソッドを送信するサンプルを公開してみます。
(国内モバイル向けのソーシャルアプリは色々と情報公開に制限があるので、差し障りの無い範囲でまとめました)

コードは、こちらのOAuth.phpに依存しています。
example内にあるコード例を参考にさせて貰いました。

→ oauth – Project Hosting on Google Code [code.google.com]

 

// アプリの設定
$id = '123456';
$consumer_key = 'abcdef';
$consumer_secret = 'uvwxyz';

// APIのURL
$end_point = 'http://example.jp/foo/bar/@app';

// パラメータ
$get_params = array('xoauth_requestor_id' => $id, 'format' => 'json');
$put_data = json_encode(array('data' => 'ほげほげ'));

$cons = new OAuthConsumer($consumer_key, $consumer_secret, NULL);
$req = OAuthRequest::from_consumer_and_token($cons, NULL, 'PUT', $end_point, $get_params);
$req->sign_request(new OAuthSignatureMethod_HMAC_SHA1(), $cons, NULL);

$url = $end_point . '?' . http_build_query($get_params);
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_FAILONERROR, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_POSTFIELDS, $put_data);
$auth_header = $req->to_header();
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json', $auth_header));

$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);

 

curlでPUTする方法は幾つかあるようなのですが、こちらの方法が一番シンプルだったので参考にさせて貰いました。

→ PHP Manual curl_setopt (Ed Cradock氏 05-Feb-2010 06:47のコメント) [www.php.net]

 

とりあえず動作することは確認しましたが、あまり本気で使っていないため、何かツッコミがありましたらお願いします。

DELETEメソッドもこの応用でいけるのですが、それはまた後日にでもまとめたいと思います。

 

関連:



第11回LOCAL PHP部 勉強会 無事終了しました
    このエントリをはてなブックマークに登録

2010/8/30 月曜日 matsui Posted in PHP, お知らせ 1 Comment »

先週8月28日に行われた第11回のLOCAL PHP部勉強会ですが、おかげさまで盛況のうちに無事終了することができました。

なんと24名もの方にご参加いただくことができまして、かつ新規の方も多かったという、勉強会としては最高の形でした。

発表者の皆様、そしてご参加いただいた皆様、お疲れ様&ありがとうございました。

 

4934764346_04a31c3497_o

 

私の発表のスライドも公開しました。

HTMLからSQLを使ってスクライピングができるhtmlSQLについての発表です。
(内容自体はネタなので軽く読み流してください)

 

 

次回の第12回PHP勉強会は、10月に行われる予定です。

 

普段のオンラインでの活動はこちらで行っています。

→ LOCAL PHP部 トップ [php.local.or.jp]
→ Google groups LOCAL PHP部 [groups.google.co.jp]

よろしければぜひご参加ください。

 

関連:



明日8月28日(土)は第11回LOCAL PHP部勉強会の日です
    このエントリをはてなブックマークに登録

2010/8/27 金曜日 matsui Posted in PHP, お知らせ No Comments »

イベントの告知です。

明日8月28日(土)に札幌で第11回LOCAL PHP部勉強会を行います。

→ LOCAL PHP部 お知らせ [php.local.gr.jp]

 

日時: 2010年8月28日(土) 14:00-16:30
場所: 札幌市産業振興センター セミナールーム9
参加費用: 参加費(会場代、おやつ代) 1人500円

 

・本当は怖いPHP (nazo)
PHPの仕様的によくわからない部分や、普段触らないような変な挙動を、比較的初心者の方にもわかりやすく紹介します。

・htmlSQLで図書館HPにアクセスしてみよう (matsui)
SQL形式でWebページをスクレイピングできるhtmlSQLで、図書館のHPにアクセスしてみます。

・タイトル未定 (Ishida)

 

私も簡単ですが、htmlSQLのネタ発表を行わせていただきたいと思います。

飛び入りの発表も歓迎です。

 

申し込みはこちらからお願いします。
おかげさまでかなり盛況ですが、まだまだ入れます。

→ ATND 第11回 LOCAL PHP部勉強会 [atnd.org]

 

終了後は毎回恒例の懇親会を予定しております。
よろしければこちらも合わせてどうぞ。

→ 第11回 LOCAL PHP部勉強会 の懇親会 [atnd.org]

 

たくさんのご参加お待ちしております。

 

関連:



OSC 2010 北海道の発表で使用したスライド資料「PHPで大規模ブラウザゲームを開発してわかったこと」
    このエントリをはてなブックマークに登録

2010/6/28 月曜日 matsui Posted in PHP, お知らせ 7 Comments »

先日6月26日、札幌で「オープンソースカンファレンス2010 北海道」が行われ、無事終了することができました。

当日は来場者数が過去最高の約450名となり、閉会式は会場に収まりきらないくらいの大盛況でした。

ご来場者の方々、スタッフ・事務局の方々、本当にありがとうございました。

 

私も1コマセミナー枠を戴くことができまして、弊社で「ブラウザ三国志」というゲームのプログラム開発を行った際の苦労やノウハウなどをまとめた、「PHPで大規模ブラウザゲームを開発してわかったこと」という発表を行わせていただきました。

お越しいただけなかった方のためにも、その際に使用したスライド資料を公開したいと思います。

 

 

このセミナーもおかげさまで盛況で、他の部屋からイスを持ってこなければならないほど多くの方にお越しいただくことができました。
本当にありがとうございました。

この発表と資料が、少しでもゲーム文化の発展と開発者の皆様のお役に立てば幸いです。

 

関連:



オープンソースカンファレンス2010 Hokkaidoで「PHPで大規模ブラウザゲームを開発してわかったこと」という発表を行います
    このエントリをはてなブックマークに登録

2010/6/18 金曜日 matsui Posted in PHP, お知らせ 1 Comment »

イベントの告知です。

2010年6月26日(土)に、「オープンソースカンファレンス2010 Hokkaido」が開催されます。

 

日程: 2010年6月26日(土) 10:00~18:30

会場: 札幌市産業振興センター

費用: 無料

内容: オープンソースに関する最新情報の提供
・展示 – オープンソースコミュニティ、企業・団体による展示
・セミナー – オープンソースの最新情報を提供

主催: 一般社団法人LOCAL
   オープンソースカンファレンス実行委員会

企画運営: 株式会社びぎねっと

 

→ オープンソースカンファレンス2010 Hokkaido – オープンソースの文化祭! [www.ospn.jp]

 

その中で、LOCAL PHP部としてセミナー枠を1コマいただくことができました。

ちょうど弊社インフィニットループでは、PHPを使って「ブラウザ三国志」というブラウザゲームを開発させていただいておりますので、その際に苦労したことなど一部ノウハウをまとめ、「PHPで大規模ブラウザゲームを開発してわかったこと」と題して発表させていただきたいと思います。

 

まだスライドを作っている途中ではあるのですが、内容はだいたい次のようになる予定です。

20100618_browsergame_slide1

20100618_browsergame_slide2

続きは当日をお楽しみに。

 

今回私の発表は残念ながらモバイルネタではないのですが、ke-tai.org読者の興味のありそうなモバイル関連のセミナーとしては、

  • 組み込み機器開発者から見たAndroid
  • だいたいこれくらい抑えておけば、リリースできちゃうモバイルopensocial

などがあると思います。

 

興味のある方はぜひ上記のリンクから「セミナー事前受付登録」をお願いいたします。

たくさんの方のご来場をお待ちしております。

 

関連: