facebookのウォールに投稿するアプリ

使い勝手がよくわからないし、プライバシーというか公開範囲もよくわからないし、妙にうっとーしーオススメされるので、すっかり放置のfacebook。正直なところ、なんか胡散臭くて、魅力を感じないんだけど、ユーザー数を考えるとちょっと調べておいたほうがいいような気がした。
で、この雑記帖のRSSをwallに投稿できればいいなあ、と。有名どころの、facebook graffitiというのを試したところ、反映されない。投稿されない。設定をいじっても沈黙したままで使いものにならない(たぶん、わたしの設定が悪い)
しょうがないんで、自作の方向で。facebookのAPIを触ってみるいい機会だ。
https://developers.facebook.com/apps
アプリを登録するために、携帯電話のメールアドレスかクレジットカードで本人認証が必要。それ以外は twitterのアプリと似たようなもんだ。WEBアプリとして登録。ドメインやアプリの名前、アプリのURLなどを入力して、アプリの app_id app_secret が管理画面で確認できる。
後は、facebookの、認証するためのURLにGETでリクエスト。レスポンスに含まれるパラメータでまたGETして、と。OAuthのやりとりは、OAuth1.0Aのtwitterより、OAuth2.0のfacebookの方が簡単、かもしれない。
具体的でわかりやすい解説は、ほかのページがたくさんあるので、検索してください。
ここでは。
facebookが用意してるSDKはPHPとJavascript。わたしが多少なりとも使えるのはperl。SDKがないので、perlでベタベタ書いていったメモ。(さらについでにいうと、CPANにはfacebookのモジュールがあるので、それを使った方がいい)
とりあえず。facebookの自分のwallにpost、投稿できるまでを忘れないうちに。
access tokenさえ取得してしまえばOK。
その1.コードを取得する
https://www.facebook.com/dialog/oauth?client_id=APP_ID&redirect_uri=URL&scope=publish_stream,offline_access
APP_ID、URLは、アプリ登録した時の管理画面に表示されている。
コンマ区切りのパラメータscope。
・publish_stream、wallに書き込む権限くださいね。
・offline_access、access tokenの期限を無期限にしてくださいね。
ということらしい。
[08/28 10:35:26] offline_access は2012/7/5で廃止になった。記事最後に代替手段追記
上記URLにアクセスすると、facebookの、このアプリを使いますか、というページに行くので、そこで承認=OKすると、facebookから、URLにコードをつけて返ってくる。
URL?code=CODECODECODE
その2.access tokenを取得する
https://graph.facebook.com/oauth/access_token?client_id=APP_ID&redirect_uri=URL&client_secret=APP_SECRET&code=CODECODECODE
1で取得したコードと、アプリ登録時に取得するapp secretをパラメータに追加して、上記URLにアクセスする。
my $ua = LWP::UserAgent->new();
my $req;
if( $args->{method} eq ’POST’ ){
my $header = HTTP::Headers->new();
$req = HTTP::Request->new(POST, URL, $header, BODY);
}
else{
$req = HTTP::Request->new(GET, URL);
}
my $res = $ua->request($req);
8行目、その2で作ったURLにアクセス。問題なければ、レスポンス=htmlの中に、access_tokenが入っているのでそれをメモる。(今回は、自分のブログ記事を流すことが目的なので、そのままaccess token を使う)
ウォールに投稿するには
https://graph.facebook.com/USER_ID/feed ※
というURLにPOSTすることになる。ここでちょっとハマる。USER_IDなんてこれまでの過程で一度も出てきてない。取得した access token を使って USER IDを取得する必要があった。
https://graph.facebook.com/me?access_token=ACCESS_TOKEN
access token をパラメータにつけてアクセスするとJSON形式でデータが返ってくる。その中に user idという項目があるので、それをメモる。
使ったもの必要なものは以下。
アプリ登録時取得 app_id app_secret
OAuthで取得 code access_token
APIで取得 user_id
※のURLに対して、POSTで本文を投稿する。
本文に最低限必要なのは access_tokenとmessage。(その他のパラメータには、link name caption description picture などがある)
access_token=ACCESS_TOKEN&message=URLENCODE(message)という形式。
これで投稿ができるようになった。ブログの最新記事をfacebookのウォールに投稿するには、本文を適当に整えるだけ。あとでやっつけてしまおう。
SDKがあるので、モバイルアプリも頑張れば作れる、ような気がする。でもなあ、facebookってどうも信用できんのだ。
[08/28 10:35:26]
追記
offline_access を指定することで access token の有効期限は永続的だったが、2012/7/5にoffline_accessが廃止となって、access_token の有効期限をチェックしなきゃいけなくなった。
詳しくは以下のURL(ありがとうございます!)
http://appofit.com/facebook/remove_offline_access/
ウチは、ユーザー権限で何かするわけでもないので、有効期限が永続的に使えるアプリのトークンでwallに投稿することにした。
https://graph.facebook.com/oauth/access_token?client_id=アプリのID&client_secret=アプリのtoken_secret&grant_type=client_credentials
上記URLに直接アクセスするとaccess_tokenがわかるので、それをメモってハードコーディング。
enchant.jsでスマホのゲーム

昨日の続き。スマホのゲームを作るために、enchant.jsというjavascriptのフレームワークをごそごそ調べてみた。いやもう恐るべしのひとこと。アクション、シューティング、RPGとなんでもこいで、すでにいくつもゲームが公開されていて、そのクオリティは、え?これjavascirptなの?ブラウザなの?と驚かされるシロモノが。
ノベルゲーム用のプラグイン m3scriptというのも公開されていて、スマホ用にゲームを作るなら enchant.jsが最強の一択っぽい。
WEBアプリにしちゃえば、たぶん、facebookのアプリなどに繋げていくこともできそうだし、ネイティブアプリのような集金装置は使えないけど、広がりがあっていろいろ展開した結果、どうにかできそうな、という大雑把な感想も。
ここで何度も言ってるように、今、盛り上がってるのはモバイル。
スマホで、jquery mobileを使ったサイト・enchant.jsを使ったゲーム。このふたつを頑張ればいいような気がしてきた。やっぱりここで100回は確実に言ってるように「あとはネタ次第」だ。たくさん調べものして勉強しなきゃいけないなあ。
html5 javascriptでスマホアプリ

スマートフォンで、ネイティブアプリなのか、WEBアプリなのか、という話があったので読んでみたら、とりあえず両方並行していいとこ取りしながら転がすけど、今後はWEBアプリになるんじゃないか、という論調。そのWEBアプリというのが、HTML5の上に、javascriptで書かれたもの。こっち方面はまったく不勉強で、改めて見てみて驚いた。シューティングやアクションなどの動きの激しいゲームも動いてるじゃありませんか。javascriptで。
「html5 ゲーム」「html5 canvas アニメーション」などで検索するとぞろぞろ出てくる。
眺めてると、ゲームのための javascriptのフレームワークenchant.jsというのがあって、ゲームに関してはほぼこれが決定版っぽい。
PCでは有名な吉里吉里/KAGというノベルゲームエンジンもエミュレートできる、らしい(調べる)てことは。去年、吉里吉里で作った、日野裕太郎『おかえりください』をiphoneやandroidに移植するハードルもぐっとさがっている、っぽい。
ただ、やっぱりここも最大の問題は、WEBアプリにした場合、どうやって金にするのか集金するのか。ネイティブアプリだと app storeがあるし、android marketもある。でも、WEBの場合、そこが致命的に弱いよなあ。結局いつまでたっても「WEBはタダ」となってしまう。たとえば、paypalを使って月々課金することも可能だけど、「WEBはタダ」という意識が立ちはだかるので、あれこれ気をつかって作りこんでも、たぶんタダはタダ。
コンプガチャみたいな仕組みならいいんだろうけど、あれは組織ぐるみ会社がかりだからできること。ひとり個人が、プログラムはどうにか頑張ったとしても、グラフィックデザインを含めたパッケージとか、法律がらみの運用面とか、かなりしんどい。
ただ、んなこと言ってるといつまでたっても何も出てこない・始まらない。とりあえず、日野裕太郎『おかえりください』をhtml5、スマホに移植してみよう、か。
水元公園菖蒲祭り

毎年恒例。6月1日から水元公園は菖蒲祭りだ。
ステージのある広場。ステージではきいたことのない演歌歌手が歌い、地元の昔御嬢さんだったダンサーたちが踊りを披露する。広場の屋台では、地元の居酒屋や食堂が出店でやってきたり、農協や、農業高校が出店してたり、値段も品もばらばらで、さながらビックリ箱の楽しさ。
老人会婦人会町内会が集まり、お父さんは顔を赤くして寝転がり、犬と子供は走り回る。
満開の菖蒲が、水辺で青から紫、赤紫の花をつけて彩を添えて、という光景が広がる。
ステージとは橋を渡った公園の逆側は、菖蒲祭りと毎年同時開催の陶器市と屋台村。
澤乃井などの東京の地酒をはじめとして、関東近県の地酒が並び、たこ焼き、お好み焼き、モツ煮は当然として、八丈島のクサヤを焼いてくれたりと、公園の中にあらわれる赤提灯の居酒屋空間。
まったりとした時間と、梅雨時のじめっと暑い空気と、ちょっと涼しい風と、日本酒とおつまみ。
ちなみに、今日飲んだのは、澤乃井の蒼天、被災地を応援!の福島、谷乃越。蒼天が美味いのは知ってたけど、この福島の谷乃越もすっきりと切れ味があって美味かった!

いやもう。毎年きてるけど、好きでたまらない祭り。
だいたい、公園で屋台でお祭りで、というのはいいとこ取り。会社や学校、普段の生活でロクでもないこと・嫌なことがあっても、大半のひとは、「公園に行く」ときはそんなものを持ち込まない。なので、いいとこ取り。プラスのオーラしかない「場」。まわりをにんまり眺めてるだけで自分も、なんの根拠もないけど「なんか大丈夫」な気がする場ですなあ。
期間中にまたぜひ行く。
ネット記事の原稿料

ネットで仕事を見つけるためのマッチングサイトには、ライティングの仕事も掲載されている。そのほとんどはブログへのヤラセの投稿、あとはSEOがらみの記事や、ネタ・テーマを指定されての記事。原稿料がびっくり。400字詰め原稿用紙に換算すると、1枚50円程度になってしまう。
また、いわゆるニュースサイトやポータルサイトに掲載するような記事も1枚500円程度。
わたしは以前、弱小出版社にいた。原稿料も、大手出版社と比較すると安かった。それでも原稿を頼むときは1枚2000円程度になるように調整してお願いしていた(ペラ1000円)それもほぼ10年前。
ネットに掲載されているテキストの質うんぬん。そりゃこのギャラじゃ、その程度にしかならんだろう。書き散らして、かき集めて、なんぼにするしかない。
ネットは印刷も紙も運送代も必要ない。言ってみれば、タダで情報を発信できる。なので、コンテンツにも金をかけない。って、違わないか。だからこそコンテンツに金をかけられるんじゃないのか。
ネットで金にする(最近ではマネタイズとかいうらしい)有効な方法がないもんだから、コンテンツに金をかけられない。安いコンテンツが垂れ流されたんじゃ、そんなものに金を払おうとも思わない。という悪循環じゃないのかね。
WEBサイトを構築するのに、制作会社に依頼すると、何人月とか工数という妙な単位を持ち出されて、ちょっとしたサイトを作るのにン百万単位になることも珍しくない。器を作るのに金をかけるヒマがあったら、中身に金かけろ、だ。
ネット企業の経営者や、アルファブロガー(ってなんじゃそりゃ)あたりの言ってることを見てると、なんちゃら新聞に掲載された、だの、どこそこの番組に出た、だの。既存メディア万歳で、ネットをメディアとしてなんとかしよう、なんて意識は感じられない。
結局、従来の権威が大好きなだけじゃん。
それで意識が高いだ低いだ、よく言ってんなあ、と思う。
テレビラジオ新聞雑誌書籍などなど、既存のメディアはむずかしい状況になってるんだろうけど、それにとってかわるものとして、安直にネットでいいのか、と。とってかわっていいのかな。
あっちが閉塞状況だから、こっちを見たけどあまり感心しないよなあ、という今日この頃。
| << | 2026/2 | >> | ||||
|---|---|---|---|---|---|---|
| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
【最近の20件】
- 20260129 ブログをレスポンシブ対応にリニューアル
- 20260126 ブログのふり返り
- 20260121 小ネタ:ed25519秘密鍵公開鍵とJson serialized canonical
- 20260120 ActivityPubは自作実装しよう!
- 20260117 RFC9421版HTTP Signatureに対応
- 20260111 HTTP Signatureの署名対象文字列
- 20260109 web本棚のActivityPub対応
- 20260106 web本棚のソースコード公開
- 20260104 web本棚
- 20260101 謹賀新年2026
- 20251231 2025年ふりかえり
- 20251213 perlと30年
- 20251210 ActivityPubの投稿削除
- 20251101 日常雑感
- 20251026 テキトーフェッチメール
- 20251014 ActivityPubサーバーで投稿の編集
- 20251008 元WINDOWS10のノパソにlinux mint
- 20251002 GBLシーズン「変わりゆく物語」でACE到達
- 20250925 ブログのアクセス制限
- 20250922 ActivityPubサーバーに引用を実装




