MENU

facebookへの投稿で、Youtubeのサムネイルを表示しつつの公式サイトへリンク、とか。

facebookで、(↑)みたいなことってどうやってできるんですか〜〜〜?って問い合わせがありましたので回答を晒してみるテスト。

いろいろゴニョゴニョやっては見ましたが、公式サイトからウォールに投稿することはできなさそうです(いづれ可能になるかもしれませんが)。

結局、API経由の投稿でないと無理っぽい。

てなわけで、まずはこちらのエントリーを参考に、facebookアプリの登録と、SDKの設置と、facebookの認証が完了した状態で、

require_once 'sdk/facebook.php';

$facebook = new Facebook(array(
	'appId' => '123456789012345',
	'secret' => '1234abcd1234abcd1234abcd1234abcd'
));

$post_data = array(
	'message' => '動画貼り込みテスト。テストテストテストなぅ',
	'source' => 'http://www.youtube.com/e/emAzdSUkkM8',
	'picture' => 'http://i.ytimg.com/vi/emAzdSUkkM8/default.jpg',
	'link' => 'http://www.coccoapo.jp/cm/',
	'name' => 'コッコアポ - CM情報',
	'caption' => 'coccoapo.jp',
	'description' => 'URLは公式URLに張りつつ、サムネイルはYouTubeへ。',
);
$facebook->api('/me/feed', 'POST', $post_data));

こんな感じで投稿できます。パラメータについては、

message: ウォールから書きこむコメント。

source: Youtubeの動画URL。http://www.youtube.com/watch?v=ABCDEFGHIJKという形式をhttp://www.youtube.com/e/ABCDEFGHIJKと書き換えて指定することで、動画ファイルを直接指定することができます。

picture: http://i.ytimg.com/vi/ABCDEFGHIJK/default.jpgというURLを指定することで、sourceで指定したYoutubeの動画から直接サムネイルを指定できます。もちろん自鯖にアップしている画像を指定してもOK。

link: 右側のシェア内容のリンク先。

name: 右側のシェア内容のタイトル。

caption: 右側のシェア内容のタイトル下に表示されるテキスト。

description: 右側のシェア内容。

こげな感じですな。

余談ですが、面倒なわりに役に立ちません。facebookの公式サイト以外のアプリからはYoutubeは見れませんし、公式サイトからYoutubeを見たとしても、そのYoutubeのムービーがシェア内容を覆い被せてしまうので、リンク先に行くことができません。正直使い道がわかりません……。