【问题标题】:post image or status with facebook page with api使用 api 在 facebook 页面上发布图像或状态
【发布时间】:2016-09-09 06:55:09
【问题描述】:

从昨天开始,我尝试使用带有 facebook graph api 的 facebook 页面发布带有图像(或不带有)的状态。

客户端与此范围连接:

电子邮件、public_profile、manage_pages、user_posts、publish_actions、publish_pages

我调用这个函数

    postPicture = () => {
        FB.api("/231713458314438/feed",
                "POST", 
                {
                    "link": "http://ichef-1.bbci.co.uk/news/660/cpsprodpb/17A21/production/_85310869_85310700.jpg",
                    "message": "test"
                },
                function (response) {
                    console.log(response)
                }
        );
    }

出版物已发布,但我的个人帐户在页面上,而不是在管理员页面中。

那么您知道如何通过页面发布状态吗?

【问题讨论】:

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


    【解决方案1】:
    1. 从 Facebook 门户获取用户访问令牌

      • https://developers.facebook.com/tools/explorer

        选择“Facebook 应用”:您的应用

        选择“用户或页面”:用户令牌(获取用户访问令牌)

        选择权限:“pages_manage_posts”

        点击复制访问令牌:

        • => 短期用户访问令牌:SLUATOKEN
    2. 获取长期用户访问令牌

    3. 获取用户 ID

      • 第 4 步需要用户 ID

        curl -i -X GET "https://graph.facebook.com/v10.0/me?fields=id%2Cname&access_token={Long-Live User Access Token}"
        

        => 卷曲:

        curl -i -X GET "https://graph.facebook.com/v10.0/me?fields=id%2Cname&access_token=LONGLIVEDUATOKEN"
        
        • => 获得用户 ID:YORFBID
    4. 获取长寿命页面令牌

    5. 帖子状态

    6. 检查令牌过期时间

    【讨论】:

      【解决方案2】:

      来自这里的文档:https://developers.facebook.com/docs/graph-api/overview/

      您还需要将为登录的管理员生成的access_token 作为参数请求传递:

      postPicture = () => {
          FB.api("/231713458314438/feed",
                  "POST", 
                  {
                      "link": "http://ichef-1.bbci.co.uk/news/660/cpsprodpb/17A21/production/_85310869_85310700.jpg",
                      "message": "test",
                      "access_token": {your-access-token}
                  },
                  function (response) {
                      console.log(response)
                  }
          );
      }
      

      【讨论】:

      • 你好,它做了同样的事情,这篇文章是用我的帐户在页面上发布的,而不是在页面上
      • 那么您拥有的访问令牌来自您的帐户,请确保您从浏览器注销,使用您需要发布到的帐户登录应用程序,然后调用此方法。
      • 是的,当我接受应用程序或加载加载 facebook api 的页面时,我得到 access_token,但结果相同。我想使用页面而不是我的帐户发布...
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-30
      • 2023-04-07
      相关资源
      最近更新 更多