1

ユーザーの介入なしにFacebookウォールにリンク付きの事前検索メッセージを投稿したい。つまり、ユーザーはFacebookにログインするだけで、事前検索メッセージはユーザーのFacebookウォールにリンク付きで投稿する必要があります。

以下は私のコードです。

public class PostOnFacebookWall {
    public static void postOnWall(Facebook facebook , final Context context, final String placeName) {
        Bundle params = new Bundle();
        params.putString("message", placeName);
        facebook.dialog(context, "feed", params ,new DialogListener() {

            public void onFacebookError(FacebookError e) {
            }

            public void onError(DialogError e) {
            }

            public void onComplete(Bundle values) {
                Toast.makeText(context, placeName+" for today's hangout has been posted on your facebook wall. ", Toast.LENGTH_LONG).show();
            }

            public void onCancel() {
            }
        });
    }
}

私は以下のように私の質問について非常に多くのリンクを見てきました

http://stackoverflow.com/questions/11316683/adding-content-to-facebook-feed-dialog-with-new-facebook-sdk-for-android

「link」、「description」、「image」などのすべてのパラメータを渡しました。誰かがあなたがすべてのパラメータを渡さなければならないと言っています。私はメッセージを事前に見つけてそれをリンクしたいだけです。

私のメッセージは「たまり場に行こう」で、ここではplaceNameがリンクになっているはずです。そして、この完全なメッセージをコードから渡したいのです。コードがメッセージを入力するダイアログを開くことを望んでいません。

4

1 に答える 1

1

事前定義されたメッセージをユーザーのFacebookウォールに投稿する必要がある場合は、この facebook.dialogメソッドを使用しないでください。

それが使用されるべきではない理由の詳細については、ここに投稿された私の答えを読んでください:https ://stackoverflow.com/a/13507030/450534

そうは言っても、希望する結果を得るには、次のコードを試してください。

Bundle postStatusMessage = new Bundle();

// ADD THE STATUS MESSAGE TO THE BUNDLE
postStatusMessage.putString("message", "Let's hangout at " + placeName);
postStatusMessage.putString("link", "www.the_example_web_address.com");

Utility.mAsyncRunner.request("me/feed", postStatusMessage, "POST", new StatusUpdateListener(), null);

String responseそして、これは、 :を解析することによってFacebookAPIからの応答を確認できる場所です。

private class StatusUpdateListener extends BaseRequestListener  {

    @Override
    public void onComplete(String response, Object state) {

}

ここで注意すべき点は、リンクを含むを渡すことはできないということです。message詳細に説明すると(前のステートメントは紛らわしいように聞こえるかもしれませんが)、messageFacebookで解析され、FBのリンクのように投稿に表示されるリンクをタグに渡すことはできません。

違いを明確に確認するには、上記のコードを使用してステータスの更新を投稿し、Facebookでどのように表示されるかを確認してください。postStatusMessage.putString("link", "www.the_example_web_address.com");次に、それを行った後、上記のコードからこれを削除し、messageタグにリンクを含め、投稿して、Facebookでどのように表示されるかを確認します。

于 2012-12-01T05:23:47.567 に答える