結構ハマったから、書いておきます。

やりたかったのは、

アプリからOAuth認証→掲示板に書き込みorLike自動押下。

まず、アプリからOAuth認証させるには?

アプリの設定で、OAuthを許可しなければいけません←最初のハマりポイント
デフォルトはNGなのです。

そのあと、キャンバスにOAuth認証用のリンクを発行します。

例えばPHPなら

$facebook->getLoginUrl();

しかし!このOAuthでは、ユーザー情報の読み込みしかできないのです。
ちなみに、これで発行されるURLはこんな感じ。
https://www.facebook.com/login.php?api_key={API_KEY}&cancel_url={CURRENT_PAGE}&display=page&fbconnect=0&next={CURRENT_PAGE}&return_session=1&session_version=3&v=1.0

いわゆる、りーどおんりー。
さらにリダイレクト先は、iFrameの本体のほうに行ってしまう。(まぁ、そこからリダイレクト処理を走らせればいいので、これは問題ないのですが)

他の権限を与えるために、引数が必要。

実際はこう

$facebook->getLoginUrl(array('req_perms' => 'publish_stream'));

これで、こんなのが発行される。
https://www.facebook.com/login.php?api_key={API_KEY}&cancel_url={CURRENT_PAGE}&display=page&fbconnect=0&next={CURRENT_PAGE}&return_session=1&session_version=3&v=1.0&req_perms=pulish_stream

この赤いところ重要。

これがついていると、掲示板に書き込み許可があるOAuth認証になる。

ちなみに、publish_stream以外にもカンマでつないで色々渡せる。例えば。
offline_access,manage_pages,user_checkins,friends_checkins,user_photos

全部は見てないけど、この辺に詳しく載っている。
http://developers.facebook.com/docs/authentication/permissions

user_checkinsとかこれから使うかもね。

あっ、ちなみに、req_perms以外にも引数渡せる。
'canvas' => 1
とかやると、アプリのページにiFrameに入れ子になった状態でリダイレクトされる。

まぁそんなわけで、これでOAuth認証がOK。

これでリダイレクトされると、AccessTokenというものが手に入る。
facebook->getAccessToken();
facebook->getSession();
たぶん、セッションにも入ってるかな。

これを使ってあとはポスト
curl -F 'access_token={access_token}' \
-F 'message=hello world' \
https://graph.facebook.com/{user_id}/feed

で、成功すると記事IDが返ってくる。

これにLIKEするには
curl -F 'access_token={access_token}' \
https://graph.facebook.com/{user_id}_{記事ID}/likes

user_idと記事IDをアンスコ(_)でつなげたものをPOST_IDというみたい。
user_idしかためしてないけど、ファンページならuser_idがpanpage_idになるのかな?
そこは要調査。

まぁ、そんなわけで掲示板投稿とLIKEが成功しましたとさ。
丸々2日かかりました。

ちなみに、API越しに投稿&LIKEしたのがこれです。
http://www.facebook.com/profile.php?id=1306381669&v=wall&story_fbid=123768044343116

日に日に英語が読めるようになっている気がする。。。