2012-03-07 9 views
0

私はFacebookのC#SDKを使用して私のビジネスのFacebookページに投稿しています。私がサイト上に持っている製品については、写真と説明がある壁に投稿をしたい。Facebook:wall post 'picture'要素は無視されます

私は、このために、次のコードを持っている:

var args = new Dictionary<string, object>(); 
    args["message"] = "Product description ... "; 
    args["caption"] = "Last offer !!!"; 
    args["description"] = "Product description ... "; 
    args["name"] = "Product name ... " 
    //picture field is the link to my image on my site 
    args["picture"] = "http://mydomain.com" + Url.Action("ImageFile", "Files", new {sizes = "400x650", fileName = file.FileName}); 
    args["link"] = Url.Abs(Url.Action("Details", "Product", new {id = id})); 

すべてのフィールドは画像を除いてOKです。画像は完全に無視され、壁のポストには表示されません。

私のターゲットは、[マイステータス]フィールドに製品の詳細を手動で貼り付けた場合と同じ動作をし、最初のイメージと最初の段落を含むメッセージが生成されます。

PS:これはいくつかのFacebookのアプリケーションのセキュリティ設定に関連付けることはできますか?

答えて

0

何時間ものデバッグの後、問題が見つかりました。最初に気付くのは、私がMVC 3を使用していることです。問題は自分のリンク形式でした。次のコードは動作します:

var pictureLink = "http://mydomain.com" + Url.Action("ImageFile", "Files", new {sizes = "400x650", fileName = file.FileName}); 
pictureLink = Server.UrlDecode(pictureLink); 
args["picture"] = pictureLink; 

私の場合、リンクにはエンコードされたいくつかの文字が含まれていました。あなたはFacebookのようにリンクを送る必要があり、彼らはURL形式でそれをエンコードします。

+0

fb c#sdkで自動デコードする必要があります。どのバージョンのsdkを使用していますか? – prabir

0

トラブルシューティングのために、args ["link"]を削除し、画像を投稿するかどうかを確認してください。そうでなければ、Facebookにアクセスしようとしている写真のURLのパーミッションに問題があります。リンク引数なしで画像を投稿する場合は、link引数を "action"引数 "name"と "link"に変更して、リンクを投稿に含めることができるかどうかを確認します。

関連する問題