2011-11-24 74 views
0

我正在移动一个PHP Facebook网页(应用程序)的过程中,我最初没有从一台服务器写入另一台服务器。它是在API的Version 2.1.2前不久写的,但我不允许升级,我的客户只是想让它移动。发布到墙从Facebook页面不工作时更换服务器

起初我有一些问题与证书,因为新的服务器使用Thawte SSL证书,这是正确安装,因为他们的电子商务产品运行得很好,但我不能得到FB应用程序的行为,所以我最终落实提供下列哪些摆脱了的“无效或者没有证书颁发机构找到了”问题:

​​

现在整个应用工程,包括除一部分电子邮件等发送 - 它需要发布到Page Wall的部分。此代码工作完全从旧的服务器上运行时,而不是在新服务器上:

$args = array(
    'message'  => $fbPostToWallMsg, 
    'name'   => "New Entry", 
    'caption'  => 'Click to view image.', 
    'picture'  => $hostUrl.$filePath, 
    'access_token'  => $oauthToken 
); 
$facebook->setFileUploadSupport(true); 

try { 
    $data = $facebook->api('/'.$pageId.'/feed', 'post', $args); 
} catch (Exception $e) { 
    $authError = true; 
} 
... other stuff, emails etc. 

$pageid是和以前一样,在access_token似乎有效,大多数人已获准的应用程序,但我也尝试与新的未知和现有的已知用户,似乎都没有工作。

我没有发现任何错误,发布时不会出现异常,帖子只是无法显示在墙上 - 没有迹象表明它没有工作,我检查了“隐藏帖子“如果他们被视为垃圾邮件,他们也不在那里。

有谁知道为什么在一台服务器上工作的代码在另一台服务器上不起作用?我能想到的唯一可能是SSL问题,但我不知道那会是什么,我不明白为什么我没有看到发布到Facebook时发生任何错误。

任何帮助非常赞赏, 感谢

回答

0

原来,这是因为新的服务器具有针对www.facebook.com防火墙上的块。我觉得很奇怪,因为这个,API默默地失败了,但我猜我的期望是什么...

只要一个洞被穿过该服务器的防火墙,它开始工作... 叹息

相关问题