次はmixiのgraph APIから

2012/6/16 [15:29:43] (土) 天気

twitterは気楽なヨタネタ放言。少し長く書くときは、この雑記帖。facebookとmixiが絶賛放置となる。なので、この雑記帖の駄文たわごとをfacebookとmixiに投稿できればいいよな、ということでここんとこgraph APIというのをお試し中。

facebookは先日作ったので、今日はmixiの日記へmixi graph APIで投稿。


mixiの認証は facebookと同じOAuth2.0。くどく繰り返しておく(忘れっぽいんで)

一次情報はここ http://developer.mixi.co.jp/

 アプリ登録時に取得して使うことになるのが

 consumer key と consumer secret (と、自分で登録したアプリのURL)

 code を取得するために、consumer key をパラメータにぶら下げて指定URLにGETでリクエストする


client_id=consumerkey&response_type=code&scope=w_diary

 ユーザーはmixiの承認ページに。scopeのw_diary は日記への投稿権限

 ※facebookはrespone_typeというのは不要だったな

 2で問題なければ・承認されば、自分で登録したアプリにcodeを持ってリダイレクトしてくる

 URL?code=XXXXXXXXXXXXX

 codeを取得したら、次は access token と refresh token を取得するために以下をPOSTのボディに入れて指定URLにリクエスト(POST)する。

 ※lwp のパラメータ content-type に、application/x-www-form-urlencoded を指定。


grant_type=authorization_code&client_id=consumerkey&client_secret=consumersecret&code=XXXXXXXXXXX&redirect_uri=URL

 ※facebookはここもGETだった。


以上で、access token と refresh token が取得できる(twitterのOAuth1.0とかamazon の認証だと、こちらでパラメータを暗号化したりする必要があるので、2.0はラクチン、かも)

mixiとfacebookで違うのが。

facebookだと、access token が永続で使えるんだけど、mixiは有効期限が短い。その分、refresh token というのがある、らしい。


↓access token の有効期限が切れてるよ

↓refresh token を使って access token を取得しなおしてね


ということになる。refresh token の有効期限は、現状だと3か月+α?

セキュリティのためだろうけど明らかに2度手間。access token が使えるかどうか確認して、使えなかったらrefresh token を使って再取得。だったら、最初からaccess token は、refresh token を使って取得する。ということにした。手元に保存して使う refresh token が期限切れになったら、また手作業で設定しなおす。


 refresh token で access token を取得しなおす

 access tokenを取得したURLと同じURLに以下のパラメータを本文にしてPOSTする


grant_type=refresh_token&client_id=consumerkey&client_secret=cunsumersecret&refresh_token=refreshtoken

 grant_type は refresh_token。これで access token を再取得する。


mixi日記への投稿

写真つきを multipart/form-data で投稿することも可能だけど、今回は、この雑記帖へリンクするので、本文だけでいい。

lwpの content-typeパラメータを application/jsonに。以下のJSON形式で本文を投稿する。


{
  "title":"日記の件名",
  "body":"日記の本文",
  "privacy":{
           "visibility":"group",
           "group":"10",
           "show_users":"0"
    }
}

わたしのmixi日記は友人限定なので、privacyのvisibilityをfriendsに。

facebookは投稿する本文に access token をつけるが、mixiはheader部分につける。


HTTP::Headers->new(’Authorization’=> ’OAuth ’ . ACCESS_TOKEN);
OAuth XXXXXXXXXXXXXXXXXXXX

とりあえず。これで、facebook も mixiも graph APIを利用して、wallや日記に投稿できるようになった、かな。同じOAuth2.0でも本文に入れたりヘッダに入れたり、tokenの期限があったりなかったり、微妙に違うのが注意が必要。

[07/03 11:35:45]

写真つき投稿の記事はこちら→「mixi graphの日記APIで写真つき投稿」



わたしは、気楽なtwitterと、閑散とした辺境のこの雑記帖で十分。


今回 facebookとmixiを改めて眺めた感想。

facebook はわからない。プライバシー設定が信用できない。データをどう使われてるか気持ち悪いところがある。企業ページが充実しているけど、金になってんのかね。アプリをクリックして何が起こるのかわからないので、臆病もののわたしはクリックできない。

全般いろんなところが「わからない」ので使えないんだよなあ。

mixiは最近残念だと思ってたのに、今回改めて見るとページや機能はかなり頑張ってるように見える。今さら。「あしあと」はリアルタイムで見えたからこそ、ユーザーが自分で公開や発言コントロールできる安心感。コミュニティは2chでいうスレ立てで、ひとりのユーザーが気楽に掲示板を持つことができるのは目玉だったような気がする。なんでわかりにくく使いにくくなったんだろう。あしあともコミュニティもユーザーの要望を取り入れて今のカタチになったんだろうけど、ユーザーの声を聞きすぎててんこ盛りのカオス、右往左往になってんじゃないのか。


mixiアプリ開発&運用コンプリートブック -ユーザをつかむソーシャルアプリのつくり方!育て方!

『mixiアプリ開発&運用コンプリートブック -ユーザをつかむソーシャルアプリのつくり方!育て方!』

田中 洋一郎

<<2026/1>>
    123
45678910
11121314151617
18192021222324
25262728293031
検索:

【最近の20件】