1

在我的页面上发布一条非常基本的消息时,我面临 Facebook SDK POST 操作的问题,该页面链接到我的 Twitter 帐户。我尝试使用 Google 和 StackOverflow 自己解决这个问题,但我没有找到解决方法。

问题如下:

当我使用 SDK 发布消息时:

  • 它出现在页面中,由我自己可见
  • 它也出现在其他 Facebook 用户的页面中
  • 它出现在 Facebook 供稿中
  • 消息没有传送到我的 Twitter 帐户

当它“手动”发布某些内容时,它会正确发送到我的 Twitter 帐户。该问题仅在使用 SDK 时出现。此后您可以找到我的代码和我的请求的上下文:

  • 我在我的个人桌面(WAMP 服务器)上使用 PHP 脚本。
  • 附件是非常基本的:'message' => "Hello,亲爱的追随者!"
  • 用于发布的应用程序处于沙盒模式。
  • 您的应用详情页面尚未提交审核。
  • 该消息在页面上显示为公开,并且确实对其他用户可见。
  • 当我手动发布完全相同的消息时,它会正确发送到 Twitter。

你能帮我解决这个问题吗?非常感谢,一切顺利。

$appid = *(hidden)*;
$appsecret =  *(hidden)*;
$pageId=  *(hidden)*;
$facebook = new Facebook(array('appId' => $appid,'secret' => $appsecret,'cookie' => false));
$user = $facebook->getUser();

if($user){

    try{

        $page_info = $facebook->api("/$pageId?fields=access_token");

        if (!empty($page_info['access_token'])){

            $attachment = array(

            'access_token' => $page_info['access_token'],
            'message' => "Hello dear followers!",
            'actions' => json_encode(array('name' => $action_name,'link' => $action_link))

            );

            $status = $facebook->api("/$pageId/feed", "post", $attachment);

        }

    }

}
4

1 回答 1

1

由于特殊操作项而出现此问题:

'actions' => json_encode(array('name' => $action_name,'link' => $action_link)) 

删除此特殊性,消息将成功传输到 Twitter。

于 2013-05-20T10:38:03.860 回答