【问题标题】:Facebook Error: (#100) The specified scheduled publish time is invalidFacebook 错误:(#100) 指定的预定发布时间无效
【发布时间】:2019-05-16 13:49:29
【问题描述】:

我正在构建一个平台来创建和组织社交媒体帖子,并通过 Facebook Graph API 将它们发布到 Facebook。我已经设置了获取所需访问令牌并立即将帖子发布到 Facebook 页面的逻辑,效果非常好。但是,如果我尝试安排帖子,我总是会收到错误

"(#100) 指定的预定发布时间无效".

我使用对https://graph.facebook.com/page_id/feed 的 POST 请求使用以下参数查询 Facebook Graph API

access_token=...
message=Test
published=false
scheduled_publish_time=time

我在哪里计算 UNIX 时间戳

const minutes = 15;
const time = new Date().getTime() + minutes * 60 * 1000;

鉴于我在功能中安排了 15 分钟的发布时间,我假设我已经考虑了所有必要的要求 (https://developers.facebook.com/docs/graph-api/using-graph-api/common-scenarios#scheduledposts)。

编辑

正如@04FS 所指出的,您需要以秒而不是毫秒为单位提供时间戳。因此以下解决了我的问题

const minutes = 15;
const time = Math.round((new Date().getTime() + minutes * 60 * 1000) / 1000);

【问题讨论】:

    标签: javascript facebook facebook-graph-api axios


    【解决方案1】:
    const minutes = 15;
    const time = new Date().getTime() + minutes * 60 * 1000;
    

    JavaScript 的 Date 对象以毫秒为单位工作,而不是秒。您的 JS 代码当前给出的值约为 1558015867708,这将是 07/23/51341 @ 1:28am (UTC) 的 unix 时间戳

    API 需要以秒为单位的正确 unix 时间戳,而不是毫秒。

    【讨论】:

    • 考虑到python中的相同场景 datetime.strftime(time_object, %s) 以秒为单位给出所需的Unix时间戳,但API仍然抛出相同的错误
    猜你喜欢
    • 2014-05-25
    • 2013-08-09
    • 2013-03-27
    • 2018-03-30
    • 1970-01-01
    • 2012-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多