C# 更新Facebook页面发布后字段

C# 更新Facebook页面发布后字段,c#,facebook,facebook-graph-api,C#,Facebook,Facebook Graph Api,我正在开发一个应用程序,它的一部分将管理用户的页面及其帖子。用户可以创建帖子并选择是否发布帖子。我可以创建帖子,并完美地将“published”字段设置为true或false。问题是:当我试图通过http post请求将post的“is_published”字段从false设置为true时。视频和链接类型的帖子工作得很好,但状态和照片不起作用。有什么问题吗 public dynamic PublishPost(string postId) { dynamic pa

我正在开发一个应用程序,它的一部分将管理用户的页面及其帖子。用户可以创建帖子并选择是否发布帖子。我可以创建帖子,并完美地将“published”字段设置为true或false。问题是:当我试图通过http post请求将post的“is_published”字段从false设置为true时。视频和链接类型的帖子工作得很好,但状态和照片不起作用。有什么问题吗

    public dynamic PublishPost(string postId)
    {
        dynamic parameters = new ExpandoObject();

        parameters.is_published = 1;

        try
        {
            return FacebookClient.Post(string.Format("/{0}", postId), parameters);

        }
        catch (Exception e)
        {
            return null;
        }

    }

通过使用创建帖子时返回的帖子ID,可以更新未发布/计划的帖子。我们支持这类帖子的两种更新:

发布以前未发布的帖子。取消发布帖子不是一个好主意 支持 更改计划,即重新安排,将计划添加到 未发布的帖子,从帖子中删除时间表从而使其 未出版。 要将现有帖子从未发布更新为已发布,只需通过API调用将is_published参数设置为true

参考:

发布post的参数 请参阅:照片页帖子

尝试:


我试过了。但是它抛出了一个异常:OAuthException-100需要一个参数:is_hidden,is_published,scheduled_publish_time,is_pinted,timeline_visibility,backdated_time,message根据文档,POST param=published和GET param to filter=is_published当您进行测试时,是否使用published来更新帖子信息?
curl -F 'message=Book your trip to Alaska, http://bit.ly/alaska'\
     -F 'source=@alaska.jpg'\
     -F 'published=0'\
     -F 'access_token=PAGE_TOKEN'\
  https://graph.facebook.com/{page_id}/photos
public dynamic PublishPost(string postId)
{
    dynamic parameters = new ExpandoObject();

    parameters.is_published = "true";

    try
    {
        return FacebookClient.Post(string.Format("/{0}", postId), parameters);

    }
    catch (Exception e)
    {
        return null;
    }

}