2011-04-29 95 views
2

我已经为我的网站用户链接了他们的FB账户和用户详细信息,集成了离线墙贴子。我在我的数据库中存储了FB-id,FB-Access标记,并使用了我在网站中集成了feed墙贴的PHP-SDK库。所有用户在facebook壁上收到消息都能很好地工作。但今天所有的事情都是徒劳的,因为它引发了各种各样的错误。我一直在寻找更多的文件,但找不到这个问题的确切的相关解决方案。验证访问令牌的错误:会话在unix时间已过期

的代码行我已经使用FB-墙张贴

   $usid=$pageinfo['user']['id_facebook']; 
    $accestoken=$pageinfo['user']["facebook_accesstoken"]; 

     if($pageinfo['user']['user_fbtoken']=='1') 

     $attachment = array(
     'access_token' => $accestoken, 
     'message' => "myTaste || real restaurant reviews, share your taste on myTaste", 
     'name' => "My Favorite Restaurant is ".$business['name'].$business['location']['city']."-What is yours? ", 
     'link' => $business['personal_url'], 
     'description' => "", 
     'picture'=> "http://googima.com/images/mysite.gif" 
     ); 

     $facebook->api("/".$usid."/feed", "post",$attachment); 
    } 

错误消息:

Uncaught OAuthException: Error validating access token: Session has expired at unix time 

Uncaught OAuthException: (#210) User not visible thrown in /hsphere/local/home/mysite.com/include/3rdparty/facebook-php-sdk/src/facebook.php 

这样做离线墙上张贴的主要思想是用户是不会问的FB登录每次在网站上做一些评论。它需要使用我们存储在用户表中的FB细节自动发布。

+0

@ifaour:我已经做了同样的事情,你在你以前的论坛回复中提到过什么,例如EDIT:4,EDIT2。我昨天得到了结果,一切都很顺利,但是今天它引发了以下错误。 – Anandhan 2011-04-29 08:42:11

+0

对不起!我以为你在找东西!发布您不需要'offline_access'权限。 'publish_stream'就是你需要的,然后从你的数组中删除'access_token'! – ifaour 2011-04-29 11:16:23

+0

@ifaour:我已经从数组列表中删除了访问令牌,并且一切工作正常。我希望这肯定能够工作,让我明天在我的工作中再次检查它。真的,我非常感谢您的想法和评估。你一直在FB API中摇摆。 – Anandhan 2011-04-29 13:08:50

回答

4

一旦授予权限publish_stream,无需对access_token。因此,移除它,并使用像这样的工作,甚至没有一个有效的会话(只是一个例子):

$params = array(
    'message' => "Test Message", 
    'picture'=> "http://path/to/image.jpg" 
); 
$post_id = $facebook->api("/$uid/feed", "post",$params); 

欲了解更多信息,请参阅本answer(EDIT 4)。对此信息btw赞赏@zerkms!

+0

@ifaour:在今天早上我检查了这个功能之后,它现在仍然在服务器中抛出其他错误。 – Anandhan 2011-05-02 09:24:40

+0

@ifaour:今天早上我已经检查过这个功能,但它仍然显示下面的错误代码集。致命错误:未捕获的OAuthException:(#210)用户不可见抛出在/hsphere/local/home/mysite.com/include/3rdparty/facebook-php-sdk/src/facebook.php 543行 – Anandhan 2011-05-02 09:26:11

+0

@ifaour:我有因为今天我的网站正在发生一些错误。当用户使用他的登录信息登录系统时,他能够发布评论,并且发现FB墙贴的发生是正确的。有时候,让我们在4小时或5小时后说,同一个用户试图发布一些评论,然后它拒绝如下所示的错误致命错误:未捕获OAuthException:(#210)用户不可见抛出/ hsphere/local/home/mysite.com/facebook-php-sdk/src/facebook.php on line 543.So,请让我知道我们是否需要offline_access – Anandhan 2011-05-05 06:41:17

0

访问令牌在facebook oauth实现中不是永久的。您需要更新它在开始你的工作会议的

更多细节:http://developers.facebook.com/docs/authentication/

+0

感谢你的回应。我没有每次都使用FB登录让用户在那里发布信息,因此我没有办法在任何时候重置会话。所以还有其他办法可以使其无限期到期。 – Anandhan 2011-04-29 05:11:11

+0

@Anandhan:阅读“为了验证你的应用程序”。 – zerkms 2011-04-29 05:13:57

相关问题