2013-06-24 93 views
0

我正尝试使用WP7上的Facebook C#SDK将照片上传到Facebook。 这里是我的代码:Facebook C#SDK WP7 - 无法将照片上传到Facebook

public void PostMessageWithImage(string statusMessage, Stream stream) 
    { 
     FacebookClient fb = new FacebookClient(AccessToken); 
     FacebookMediaStream mediaStream = new FacebookMediaStream 
     { 
      FileName = DateTime.Now.ToLocalTime().ToLongDateString(), 
      ContentType = "image/jpeg", 
     }.SetValue(stream); 

     fb.PostCompleted += MessagePostCompleted; 
     fb.PostAsync(this.id + "/photos", new 
      {      
       message = statusMessage, //already tried name and caption 
       source = mediaStream 
      }); 
    } 

我不断收到这样的:

(OAuthException - #1) (#1) An unknown error occurred 
    at Facebook.FacebookClient.ProcessResponse(HttpHelper httpHelper, String responseString, Type resultType, Boolean containsEtag, IList`1 batchEtags) 
    at Facebook.FacebookClient.<>c__DisplayClass4.<ApiAsync>b__1(Object o, OpenReadCompletedEventArgs e) 

此代码是工作的罚款四个月前,但现在我不能上传照片到Facebook。它只适用于我使用url而不是文件。你可以帮帮我吗?

回答

0

我得到了同样的错误。 我的代码:

 dynamic argumentContent = new ExpandoObject(); 
     argumentContent.message = imageDesc; 
     if (!string.IsNullOrEmpty(imageUrl)) 
      argumentContent.url = imageUrl; 
     else 
      argumentContent.source = new FacebookMediaObject 
      { 
       ContentType = "image/jpeg", 
       FileName = FormatUploadPictureFileName() 
      }.SetValue(imageBytes); 

     FacebookClient fbClient = new FacebookClient(accessToken); 
     fbClient.PostTaskAsync("me/photos", argumentContent); 
     fbClient.PostCompleted += (postContent, Ex) => 
     {}); 

soluction:

如果这一形象与您的代码和格式流创建。所以你会得到这个错误。 首先你需要将它保存为png/jpeg文件来隔离存储。 然后读取它并将其格式化为来自本地隔离存储器的bytes []数组。 你会发现它的工作。

相关问题