3

Javascript で Facebook API を介して友人のウォールに投稿を公開したいのですが、「FB.api」に「プライバシー」を挿入すると、このコードが正しく実行されません。誰かが私を助けることができますか?ありがとうございました。

var privacy = {value: 'CUSTOM',  friends: 'SOME_FRIENDS', allow: '{UID}'};
var privacy2 = JSON.stringify(privacy);

FB.api("/{UID}/feed", 'post', {
    message: 'Message',
    privacy: privacy2,
    }, function(response) {
        if (!response || response.error) {
            alert(response.error);
        } else {
            alert('Message sent!');
        }
    }
);   
4

1 に答える 1

3

プライバシーJSONを変更して、キーの前後にも引用符を含めます。

var privacy={"value":"CUSTOM", "friends": "SOME_FRIENDS", "allow":"{UID}"};

FB.api("/{UID}/feed", 'post', {
    message: 'Message',
    privacy: privacy,
    }, function(response) {
        if (!response || response.error) {
            alert(response.error);
        } else {
            alert('Message sent!');
        }
    }
); 

ただし、他のユーザーのウォールにプライベートメッセージを投稿することはできないようです。Facebookのプライバシー設定ページから:

注:プライバシーパラメータは、ユーザー自身のタイムラインへの投稿にのみ適用され、最終的には、ユーザーがアプリに設定したプライバシーの上限によって管理されます。ユーザーに代わってアプリが別のユーザーのタイムラインに投稿したり、ページ、イベント、グループに投稿したりする場合は適用されません。そのような場合、そのような投稿は、グループまたはイベントのタイムラインまたはコンテンツを見ることができるすべての人が見ることができます。

これが、OAuthエラーが発生する理由のようです。

于 2012-12-16T21:44:58.610 に答える