2012-04-25 10 views
2

C# SDK를 사용하여 Facebook 열린 그래프에 비디오를 업로드하려고합니다. 동영상이 잘 업로드 된 것 같아 활동에 대한 ID를 얻지 만 샘플 메타 데이터 만 표시됩니다. 당신은 지금을 만들어야합니다 사용자를위한 오픈 그래프 액션을 게시하고있는 것은 3 단계의 해당 연결 개체 유형을 정의 할 수있는 전에Facebook Open Graph API에 매개 변수 전달

:

조금 파고 후, 나는 이걸 발견 Open Graph 메타 태그를 사용하여이 객체를 나타내는 공개적으로 액세스 가능한 웹 페이지입니다. 이 개체 페이지가 생성되면 Graph API를 사용하여 작업을 게시 할 수 있습니다.

이것은 클라이언트 측 응용 프로그램이므로 Facebook을 참조 할 수있는 웹 페이지가 없습니다. 그렇다면 올바른 매개 변수를 전달하는 방법은 무엇입니까?

var parameters = new Dictionary<string, object>(); 
parameters["source"] = new FacebookMediaObject { ContentType = "video/mpeg", FileName = "video.mpeg" }.SetValue(File.ReadAllBytes(@"D:\sample video.MP4")); 
parameters["og:title"] = "Sample video"; 
parameters["title"] = "Sample video"; 
parameters["og:description"] = "Test description"; 
parameters["highlight"] = "http://samples.ogp.me/287287444686523"; // If I don't put this, the upload fails 
fb.PostAsync("/me/myobjectname:share", parameters); 

감사 :

여기 내 코드입니다!

답변

0

버전 6를 들어, 당신은 할 수 있습니다 :

var fb = new FacebookClient(accessToken); 
string attachementPath = @"C:\image.jpg"; 

using (var stream = File.OpenRead(attachementPath)) 
{ 
    dynamic result = fb.Post("me/photos", 
           new 
            { 
             message = "upload using Facebook C# SDK", 
             file = new FacebookMediaStream 
               { 
                ContentType = "image/jpg", 
                FileName = Path.GetFileName(attachementPath) 
               }.SetValue(stream) 
            }); 
} 

자세한 내용 here.

+0

SDK 버전 6을 사용하고 있습니다. 귀하의 코드는 Open Graph API의 사용자 정의 객체를 활용하지 않습니다. 그게 내가 알아 내려고하는거야. –