【问题标题】:How to post to Facebook fanpage as fanpage, not user如何以粉丝页面而不是用户的身份发布到 Facebook 粉丝页面
【发布时间】:2011-12-23 12:00:48
【问题描述】:

我如何以粉丝页面而不是用户的身份在粉丝页面墙上发布 - 使用 javascript sdk。

现在 Init 我正在接收 menage_pages 并获取合适的粉丝页面 id,我该如何更改下面的调用?

var target = '/'+params.target+'/feed'

FB.api(target,
        'post',
        { message: params.message,
          link: params.link,
          picture: params.picture,
          caption: params.caption,
          description: params.description,
          name: params.name
          }
        ,function(response) {
            if (!response || response.error) {
                $("#error").removeClass('hidden');
            } else {
                $("#success").removeClass('hidden');
            }
        });

【问题讨论】:

    标签: javascript facebook sdk


    【解决方案1】:

    您只需要实现这三个功能:

    第一个是为您的应用程序设置基本参数(XXX-APP需要根据您的应用程序的真实ID进行更改)。

    其次,登录到 Facebook 并授予能够在 Facebook 上发帖所需的权限。

    第三个功能是发帖到Facebook(XXX-page需要用你想发帖的Page的ID来改变)

    FB.init({ appId: 'XXX-APP', status: true, cookie: true, xfbml: true, oauth: true });
    access_token = '';
    function loginFB(){
      FB.login(function(response) {
       if (response.authResponse) {
         access_token =   FB.getAuthResponse()['accessToken'];
         console.log('Access Token = '+ access_token);
       } else {
         console.log('User cancelled login or did not fully authorize.');
       }
     }, {scope: 'publish_stream,manage_pages'});
    }
    
    function postToPage() {
        FB.api('/XXX-page', {fields: 'access_token'}, function(resp) {
            if(resp.access_token) {
                FB.api('/' + page_id + '/feed',
                    'post',
                    { message: "MSG", access_token: resp.access_token }
                    ,function(response) {
                        console.log(response);
                });
            }
        });
    }
    

    【讨论】:

      【解决方案2】:

      您需要以下权限:

      • publish_stream
      • manage_pages

      现在我们调用page 对象来检索页面的access_token,然后使用该令牌发布,例如:

      function postToPage() {
          var page_id = 'MY_PAGE_ID';
          FB.api('/' + page_id, {fields: 'access_token'}, function(resp) {
              if(resp.access_token) {
                  FB.api('/' + page_id + '/feed',
                      'post',
                      { message: "I'm a Page!", access_token: resp.access_token }
                      ,function(response) {
                          console.log(response);
                  });
              }
          });
      }
      

      结果:

      在我的tutorial 中了解更多信息。

      【讨论】:

      • 我正在尝试postToPage() js 函数,但没有响应 console.log()。点击喜欢.. 发布到群组
      • 你的第一个问题,这个电话实际上是得到access_token,在这里你要求Facebook为你获取那个字段!您只需要编辑page_id
      • 对于您的第二条评论,会话可能在您调用postToPage() 时已过期,因此您需要实现FB.getLoginStatus()
      • 是的,我将 page_id 替换为 5236.. 但不能成功..如果我写 console.log(resp) - 返回页面 id。
      • 我试过 FB.getLoginStatus() 。它返回not_authorized
      猜你喜欢
      • 2012-01-30
      • 1970-01-01
      • 2010-11-25
      • 2011-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多