Facebook错误100:您无法在已发布的帖子上指定计划发布时间

时间:2014-04-11 02:40:52

标签: javascript facebook api facebook-graph-api facebook-javascript-sdk

我必须这样做。 绝对是每个问题我都会查询有关此问题的问题,但他们的答案都没有帮我解决。

我想在我的Facebook页面上发帖。

问题在于:

错误: “(#100)您无法在已发布的帖子”

上指定预定的发布时间

代码:

FB.api(
    "/100177680105780/feed",
    "POST",
    {

        "message": "This is a test message",
        "scheduled_publish_time": Math.round(new Date().getTime() / 1000) + 120

    },
    function (response) {
        console.log(response);
        if (response && !response.error) {
            /* handle the result */
        }
    });

我不知道为什么这会给我这个错误。即使我在帖子的内容周围添加“对象”:{},它也不起作用。我尝试更改UNIX时间戳,我尝试更改消息,我尝试设置“已发布”:false ,但没有运气。

任何指导都会很棒。

2 个答案:

答案 0 :(得分:8)

https://developers.facebook.com/docs/graph-api/common-scenarios#scheduledposts处的文档说的是scheduled_publish_time

  

应该是一个介于10分钟到6分钟之间的UNIX时间戳   自发布之日起的几个月

由于你只增加了120秒,我想这可能是它无法正常工作的原因。尝试添加至少600秒并再次测试。

https://developers.facebook.com/docs/graph-api/reference/page/feed/#pubfields也这样说。

正如@Sahil所提到的,你还需要使用一个页面访问令牌,需要按照他的描述手动设置。

答案 1 :(得分:8)

应设置

"published": false以发布预定的帖子。如果在设置此参数后仔细查看错误,则会显示:

  

(#200)未发布的帖子必须作为页面本身发布到页面。

预定的帖子只能使用页面访问令牌发布 - 逻辑性足够,因为那些有权管理页面的人可以安排帖子。

此外,使用您的代码(您使用的是普通用户访问令牌),帖子将作为您自己而不是代表页面发布。这些帖子在侧栏上可见而不是在主墙上 - 这不是你想要的吗? :)

因此,请使用页面访问令牌。要获取页面访问令牌,请首先获得manage_pages权限的新用户令牌并拨打电话

\GET /{page-id}?fields=access_token

使用此令牌并拨打电话安排帖子 -

FB.api(
"/{page-id}/feed",
"POST",
{
    "message": "This is a test message",
    "scheduled_publish_time": Math.round(new Date().getTime() / 1000) + 120,
    "published": false,
    "access_token": "{page-access-token}"
},
function (response) {
    console.log(response);
    if (response && !response.error) {
        /* handle the result */
    }
});

我不确定您的应用程序究竟是做什么的,但是如果获得一个永不过期的页面访问令牌可以帮助您,您可以在此处看到我的answer

希望有所帮助!

修改

正如@Tobi所提到的,还要确保UNIX时间戳在发布之后的10分钟到6个月之间。由于您使用2分钟,这可能也会产生问题。