【问题标题】:Facebook C# SDK WP7 - Can't upload photo to FacebookFacebook C# SDK WP7 - 无法将照片上传到 Facebook
【发布时间】:2013-06-24 23:40:39
【问题描述】:

我正在尝试使用带有 WP7 的 Facebook C# SDK 将照片上传到 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 而不是文件时才有效。你能帮帮我吗?

【问题讨论】:

    标签: c# windows-phone-7 facebook-c#-sdk


    【解决方案1】:

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

            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) =>
            {});
    

    解决方案:

    如果此图像使用您的代码和格式创建为流。所以你会得到这个错误。 首先,您需要将其保存为 png/jpeg 文件以隔离存储。 然后从本地隔离存储中读取并格式化为 bytes[] 数组。 你会发现它的工作。

    【讨论】:

      猜你喜欢
      • 2012-03-29
      • 1970-01-01
      • 2023-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多