Facebook で、ユーザーのウォールに「オブジェクト ゲームで 8/10 を獲得しました」というメッセージを投稿してから URL を投稿するにはどうすればよいですか?
ユーザーのログイン情報を処理したくないので、完全な API を使用する必要はありません。Facebook が認証してからメッセージを投稿する必要があるかどうかは気にしません。
新しい Graph API と JavaScript を使用することは可能ですか?
Facebook で、ユーザーのウォールに「オブジェクト ゲームで 8/10 を獲得しました」というメッセージを投稿してから URL を投稿するにはどうすればよいですか?
ユーザーのログイン情報を処理したくないので、完全な API を使用する必要はありません。Facebook が認証してからメッセージを投稿する必要があるかどうかは気にしません。
新しい Graph API と JavaScript を使用することは可能ですか?
注 4/16/2011: stream.publish は廃止されたようです。これを行う新しい方法があります: http://developers.facebook.com/docs/reference/dialogs/feed/
このようなものを使用してウォールに公開できます。ユーザーは送信前に確認する必要があります。FB.init を使用し、JS SDK リンクを含める必要があることを忘れないでください。
function fb_publish() {
FB.ui(
{
method: 'stream.publish',
message: 'Message here.',
attachment: {
name: 'Name here',
caption: 'Caption here.',
description: (
'description here'
),
href: 'url here'
},
action_links: [
{ text: 'Code', href: 'action url here' }
],
user_prompt_message: 'Personal message here'
},
function(response) {
if (response && response.post_id) {
alert('Post was published.');
} else {
alert('Post was not published.');
}
}
);
}
ウォールに投稿すると、ウォールでメッセージを共有するかどうかを指定するダイアログ ボックスが表示されます。しかし、ユーザーがすでに「壁に投稿する」許可を与えていると仮定して、メッセージをユーザーの壁に静かに投稿したかったのです。
FB.api('/me/feed', 'post', {
message:'my_message',
link:YOUR_SITE_URL,
picture:picture_url
name: 'Post name',
description: 'description'
},function(data) {
console.log(data);
});
クロスドメイン呼び出しを行うプロキシがあることを考えると、これを簡単に行うことができます...
この例では、YourProxyMethod はハッシュのような jQuery.ajax を受け取り、サーバー側のポストを作成し、成功/エラー コールバックで応答を返します。通常のプロキシで十分です。
トリックは、URL 自体に app_id と access_token を含めることです。また、FB アプリには、この呼び出しを行うための十分な権限が必要です。
YourProxyMethod({
url : "https://graph.facebook.com/ID/feed?app_id=APP_ID&access_token=ACCESS_TOKEN",
method : "post",
params : {
message : "message",
name : "name",
caption : "caption",
description : "desc"
},
success : function(response) {
console.log(response);
},
error : function(response) {
console.log("Error!");
console.log(response);
}
});