-2

我正在尝试在 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;
    }
4

1 回答 1

0

您从响应中获得了 Post ID,这意味着您成功上传了图像。但是,它不会上传到您的页面,这可能是由于使用了不正确的访问令牌。如果您发布到页面,则必须使用Page Access Token而不是User Access Token。此外,您必须请求manage_pages许可,并且用户必须授予请求。

阅读有关访问令牌的更多信息。

于 2013-11-08T02:16:09.067 回答