2011-04-29 98 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

相關問題