Facebook:使用PHP SDK发布的消息未发送到Twitter

时间:2013-05-20 08:38:28

标签: php facebook post twitter sdk

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

问题如下:

当我使用SDK发布消息时:

  • 它出现在页面中并由我自己进行访问
  • 它也出现在页面中,也适用于其他Facebook用户
  • 它出现在Facebook Feed
  • 消息传输到我的Twitter帐户

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

  • 我在个人桌面(WAMP服务器)上使用PHP脚本。
  • 附件非常基本:'message'=> “你好亲爱的粉丝!”
  • 用于发布的应用程序在沙盒模式下
  • 您的应用详情页面尚未提交审核。
  • 该消息在页面上显示为公开,并且其他用户确实可以看到。
  • 当我手动发布完全相同的消息时,它会被正确发送到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);

        }

    }

}

1 个答案:

答案 0 :(得分:1)

出现问题的原因是特殊操作项:

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

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