使用C#在Facebook上发布图像时不显示图像

时间:2013-11-07 11:01:01

标签: c# wpf facebook

我正试图在Facebook墙上发布图片。这是一段时间为我工作,如果我试图从另一个用户发布相同的,我得到了帖子ID,但图像没有显示页面。

你能帮忙吗?

public class fbPostData

{

    public string FbID { get; set; }
    public string AccessToken { get; set; }
    public string Message { get; set; }
    public string PostImageURL { get; set; }
    public string TextToRender { get; set; }
    public System.Windows.Point TextRenderPonit { get; set; }
}


public bool PostOnFacebookWall(fbPostData _objData_in)

    {
        bool bResult = false;
        try
        {
            if(null != _objData_in)
            {

                //RenderText
                //m_bitmapImage = WriteTextToImage(_objData_in.TextToRender, _objData_in.TextToRender, _objData_in.TextRenderPonit);
                //m_byteDAta = ImageToByte(m_bitmapImage);
                // post the data
                FacebookClient _fbClient = new FacebookClient(_objData_in.AccessToken);
                dynamic _postParams = new ExpandoObject();
                _postParams.message = _objData_in.Message;
                var media = new FacebookMediaObject()
                {
                    ContentType = "image/jpeg",
                    FileName = _objData_in.FbID
                };

                //var bytes = File.ReadAllBytes(_objData_in.PostImageURL);
                media.SetValue(m_byteDAta);
                var postInfo = new Dictionary<string, object>();
                postInfo.Add("message", _objData_in.Message);
                postInfo.Add("image", media);
                _fbClient.Post("/" + _objData_in.FbID + "/photos", postInfo);

                // return success
                bResult = true;
            }
        }
        catch (Exception ex)
        {
            System.Windows.MessageBox.Show(ex.Message);
        }
        return bResult;
    }

1 个答案:

答案 0 :(得分:0)

您从响应中获得了帖子ID,这意味着您已成功上传图片。但是,它不会上传到您的页面,这可能是由于使用了错误的访问令牌。如果您发布到页面,则必须使用页面访问令牌而不是用户访问令牌。此外,您必须请求manage_pages权限,并且用户必须授予请求。

详细了解Access Token