1

Facebook C# SDK を使用して、Facebook で実行されているアプリケーションからユーザーのウォールに公開しています。すべてが正常に機能し (アプリには適切な権限が付与されています)、実際、投稿はユーザーのウォールに送信されます...奇妙なことに、私が公開を求めている情報は、最終的に公開されたものとは異なります。私のコード:

Dim facebook = New FacebookWebClient(fbWebContext)
Dim args As Dictionary(Of String, Object) = New Dictionary(Of String, Object)
args("picture") = "http://www.xxx.com/uploads/yyy.jpg"
args("link") = "https://www.facebook.com/zzz?sk=app_12532830&app_data=10000"
args("name") = "My name"
args("caption") = "My caption"
args("description") = "My description"
args("message") = "My message"
facebook.Post("https://graph.facebook.com/12345/feed", args)

このコードは完全に機能し、エラーは発生せず、投稿はユーザー (このサンプルでは、​​ID 12345) ウォールに正しく生成されますが、... ユーザーのウォールの投稿を見ると、次のようになります。

1. The message is OK
2. The picture is OK
3. The link is NOT OK: I get "https://www.facebook.com/zzz?sk=app_12532830" without the "app_data" parameter!
4. The name is NOT OK: instead of getting "My name", I get "My name | [App Name]" (where [App Name] is the name of the application)
5. Caption is NOT OK: this one simply doesn't appear.
6. The description is OK

変!

今...私はまったく同じことを試みましたが、Facebookの開発者向けツールの下にある「Graph API Explorer」から、すべてのフィールドと同じ値を指定して...そしてすべてが期待どおりに機能します...誰でもできますか助けて?誰にも手がかりはありますか?

前もって感謝します!

4

1 に答える 1

1

私がテストしたとき、あなたが上で言ったことはすべてうまくいっています。唯一の例外は、あなたが追加しようとした画像でした。「ブロックされたコンテンツです」と言って拒否されています。Facebook C# SDK バージョン v4.0.30319 を使用しています。完全なコードを以下に示します。

            var client = new Facebook.FacebookClient(this.UserToken);
            dynamic parameters = new ExpandoObject();
            parameters.message = "My message";
            //parameters.picture = "http://www.xxx.com/uploads/yyy.jpg";
            parameters.picture = "http://www.bhaam.org.uk/images/index/den_building.jpg";
            parameters.link = "https://www.facebook.com/zzz?sk=app_12532830&app_data=10000";
            parameters.name = "My name";
            parameters.caption = "My caption";
            parameters.description = "My description";
            parameters.privacy = new
            {
                value = "SELF", //value = "ALL_FRIENDS", reference (http://developers.facebook.com/docs/reference/rest/photos.createAlbum/)
            };
            result = client.Post("me/feed", parameters);
            status = true;
于 2012-07-13T12:21:20.893 に答える