Facebookアプリで、ウォールに画像を付けて投稿する方法が変わった?

フィードに投稿するときには、PHPだと

$attachment = array('message' => 'hoge');
$facebook->api('/USER_ID/feed', 'POST', $attachment);

みたいなかんじでできるのだが、ここでgraph apiのドキュメントのPublishingの項を見ると、pictureを指定すれば画像をくっつけて投稿してくれるような雰囲気でかいてある(はず)。

しかし、

$attachment = array(
      'message => 'hoge',
      'picture' => '画像のURL'
);

としても、なんか画像が表示されなかった。
フォーラムを調べてたらこんなものがみつかった。
http://forum.developers.facebook.net/viewtopic.php?id=93076
どうやらlinkも指定してあげないとダメ、とのこと。
よくわかんないから、linkにpictureと同じ値をセットしてみた

$attachment = array(
      'message => 'hoge',
      'picture'   => '画像のURL',
      'link'         => '画像のURL'
);

ふむ、たしかに表示された。
もしや、とおもってlinkだけにしたら

$attachment = array(
      'message => 'hoge',
      'link'         => '画像のURL'
);

おんなじように表示された。。
うーーん、こんなんでいいのかしら。

facebookアプリのパーミッションを追加したときに

今までつかってなかったパーミッションをreq_permsに追加しても、既にそのアプリを承認しちゃってる場合はアクセス許可ダイアログが表示されず、
そのままapiを叩いても望みどおりの情報がとれず、ぎゃあああってなるようです。

その場合は、一回アプリを登録解除してみましょう。
http://www.facebook.com/settings/?tab=applications
ここから解除できるはず。

解除したら、慌てず、3分くらい待ってからもう一度アプリを叩いてみましょう。
キーボードショートカットを駆使して光の速さでアクセスしても、なんかうまくいきません。まったりまったり。

もっと賢いやり方教えてください・・・!!

facebookのgraph apiで、プロフィール画像をオリジナルサイズで取得する方法

技術系エントリを装ってただリンクを貼るだけの行為に定評のある僕です、こんばんは。

Facebookのgraph apiはなんか頻繁に更新されていたり、ドキュメントが少なくて大変そうです。
プロフィール画像を元サイズで取得しようとしたんだけど、graph apiではちっさいのしか無理みたいですね。

フォーラムを漁っていたらこんな記事がありました。fqlで取ってくるそうです。

http://forum.developers.facebook.net/viewtopic.php?pid=305085

実際に投げてみたクエリはこんなかんじ。ちなみに、php-sdkを使っています。

$fqlResult = $facebook->api(array(
             'query' => 'select src_big from photo where pid in (select cover_pid from album where owner=me() and name="Profile Pictures")',
              'method' => 'fql.query'));

ちゃんとオリジナルサイズの画像のURLが返ってきた。よかったよかった。

今度こそsnow leopardでPTAMをビルドしたいあなたへのアドバイス

えらそうなタイトルだけどえらくないです、ごめんなさい。

【結論】
ここみるべし
http://www.andrewhatch.net/2010/08/ptam-on-os-x-1064.html
そして特に大事なのは

Now edit Makefile and move any -L /opt/local/lib arguments in linker flags to the end of the -L argument list, thereby giving priority to MacOSX10.5.sdk version of X11 (32-bit)

っていう部分だと思う。
snow leopardでPTAMをビルドする記事はいくつかあるけど、ここの説明が抜けてるやつが多かった気がするので、メモメモ。

今更PTAM!ってかんじかもしれないけど、やっぱすごくて、動かすととっても楽しい。

ワインのばか

「楽で、居心地いいところよりちょっとだけキツイところにいこう」
こんなつぶやきをTLで見かけた。

僕は、そうゆう心構えをいつも持っていたいと思う。

ただ自分の考えを肯定してくれる、癒しの言葉なのかもしれないという見方もある。
わざわざ引用しちゃうと熱すぎる自己啓発っぽくもある。

それでも、まぁとりあえずしばらくは、がむしゃらにがんばってみたいと思っているのだ。

ズブの素人がfunnel I/Oで遊ぶまでの道のり part1

電子工作の心得が全くないわたくしが、funnel I/O(FIO)でなんか遊ぶまでの道のりを書き記す連載(?)第一回!

はじめに

  • 電子工作が本当にやりたい
  • 全く知識がありません!

というわけで、ぼくと同じように困っている人の助けとなるか、自分の備忘録となるか、あわよくば詳しい方から指導していただけるかも!?
と思って書いてます。

かんきょう

MacbookPro(OSX snow leopard)ただし、Win機も持ってるので、くじけたときそっちも使う

きほんてきに

http://www.hara3.net/blog/2009/02/funnel-set-up.htmlを参考にさせて頂きました。
というわけで、本エントリはすべての流れを記録したものではなく、ぼくがつまったところだけ書いていきます。

用意したもの

秋葉原にある千石電商さんにて

  • funnel I/O ×1
  • Xbeeのモデム(ホームベース型のやつ) ×2
  • XbeeのUSBエクスプローラ(ホームベースをUSBでつなぐもの) ×1
  • 電池

を買うあたりは前述のサイトのまんまです。
しかし!ここでハイパー初心者である僕が強調したいのが

  • 半田ごては必ず買う
  • (もしアキバが遠いなら)ヘッダピンってゆうムカデっぽいものと、加速度センサーかなんかも買っとく
  • USBケーブルも2本買ったよ!片方が普通サイズで、もう片方が小さいやつ(Bタイプというそうだ)

という点です。
特に半田ごて!!なんかいくらブレッドボードで半田ごてフリー!といっても最初にちょいと使うのです。これはかなり罠です。
なんではじめから閉じてないの?って感じwたぶん理由があるのでしょう。
ヘッダピンとかについては、次回登場予定。(まだぼく自身試していないのですが)

作業手順

はんだ!!

いきなりテンションがあがります。例のサイトを参考に、2箇所はんだづけをしました。
ハンダ付けとか中学校の技術家庭科以来です。緊張しました。
電子工作入門::半田付け - びんずめ堂
このサイトあたりで一瞬イメトレをしたあと、ノリでやった結果がこちら。

かなり下手っぽいですが、動作に問題はないようなので続行。
余談ですが、iPhoneのカメラで接写できなくてこんな画像しか用意できんかった。(とくにFIOの方は撮れなかった)

ドライバのインストール

XbeeのUSBエクスプローラを認識するためのドライバが必要。
Virtual COM Port Drivers
から入手しました。

Xbeeの設定

第一困りポイント。ファームウェアの書き込み?ヨクワカリマセーン。
どうやら、買ってきたXbeeホームベースさんを使えるように設定せねばならんそうな。
Macだとファームウェアの書き換えができないとの噂もあり、よくわかっていない操作を自力解決するのは良くないと判断したので、今回はWin機でやりました。
X-CTUというソフトを使って、

  • 親機(PCにつなげる方)にcoordinator_auto_reset.proを書き込み
  • 子機(FIOにつなげる方)にenddevice.proを書き込み

しました。また、ファームウェアのバージョンが10CDじゃないとダメという噂があり、ぼくのXbeeはそれより(たぶん)新しいバージョンだったのですが、よくわからないので10CDにしておきました。もしかしたらいらない操作だったかもしれません。
ここでは書き込みに失敗したりすることもあったのですが、Baudという値を19200か9600かそんなんで適当にいじってたらできました(そんなんでいいのか・・・)
ボー - Wikipedia
ちゃんと勉強しなさい>自分

スケッチのアップロード

第二困りポイント。
先程から参考にさせていただいているhttp://www.hara3.net/blog/2009/02/funnel-set-up.html
の、手順6のところまできました。基本的には問題ない作業ですが、ひとつだけ注意。
現行のArduinoだと、tool>board>Arduino Pro or Pro Mini....ATmega168
を選びましょう。328だとアップロードができなくて、10回くらい試して「あれ〜」ってなってました。

kato tetsuro on Twitter: "boardはATmega168です!!328じゃないよ、と"
ATmegaっていうのはCPUの名前みたいな感じなのかな?FIOに乗ってるCPUの型番と合わせなきゃダメだよ、みたいなイメージで良いのだろうか。
ともあれなんとか動いた。

サーバを起動してみる

ここまでくればあとは起動してみるだけ。
ここまで死ぬほどお世話になった例のページと違うのは、最新版のFunnel serverを
Google Code Archive - Long-term storage for Google Code Project Hosting.
からゲットしてくると、設定ファイルとかはなくて、サーバを起動したあとにデバイスとポートを指定するようになっている。

FIOとUSBポートを選択して、「Firmata Protocol Version: 2.1」となれば設定完了、だそうです。

ぼくがやったのはここまで。次は実際にセンサーとか付けてみちゃうよ!