2012-03-07 4 views
0

내 비즈니스 페이 스북 페이지에 게시하려면 Facebook C# SDK를 사용하고 있습니다. 사이트에있는 제품의 경우 사진과 설명이있는 벽에 게시물을 게시하고 싶습니다.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})); 

모든 항목이 이미지를 제외하고 확인합니다. 이미지가 완전히 무시되고 벽 게시물에 표시되지 않습니다.

내 대상은 '내 상태'입력란에 제품 세부 사항을 수동으로 붙여 넣은 경우와 동일한 동작을하며 첫 번째 이미지와 첫 번째 단락이 포함 된 메시지가 생성됩니다.

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; 

내 경우 링크에 인코딩 된 일부 문자가 포함되어 있습니다. 당신은 페이스 북에있는 것처럼 링크를 보내야하며 그들은 URL 형식으로 인코딩합니다.

+0

fb C# sdk에서 자동 디코딩해야합니다. 어떤 버전의 SDK를 사용하고 있습니까? – prabir

0

문제 해결을 위해 args [ "link"]를 제거하고 이미지를 게시하는지 확인하십시오. 그렇지 않다면 페이스 북이 액세스하려고 시도하는 그림 URL에 대한 권한에 문제가 있습니다. 링크 인수없이 그림을 게시하는 경우 링크 인수를 "조치"인수 "이름"및 "링크"로 변경하여 게시 링크에 링크가 포함될 수 있는지 확인하십시오.