2012-09-27 41 views
-1

的Facebook的OAuth2模塊龍捲風,但我不明白它背後的想法: 的例子會從我的牆上得到「流」 ,而是因爲我想看看如何在沃爾瑪發佈使用龍捲風,我發現了一個another Python module,但是這一次不使用的OAuth,但需要另一個關鍵:一個令牌,當我去的Facebook並生成它,它給了我兩個應用程序:我創建的一個應用程序m Tornado,第二個是「圖形API資源管理器」,它允許我在「擴展權限」中生成一個長密鑰,但我仍然無法發佈在我的Facebook牆上。是什麼在龍捲風令牌和OAuth訪問的區別

更新:這裏是用Python的Facebook的模塊 - 稠代碼:

import facebook 

graph=facebook.GraphAPI("____") 
profile = graph.get_object("me") 
graph.put_object("me", "feed", message="I am writing on my wall!") 
print profile 

,並給了我這個錯誤:

facebook.GraphAPIError: Error validating access token: This may be because the user logged out or may be due to a system error. 

UPDATE2:它的工作,看來我必須等待某些時間驗證將令牌保存在其數據庫中?

所以我的問題仍然是:在Tornado令牌和OAuth訪問之間有什麼區別。因爲我打算每次將應用程序更新到Facebook用戶時使用通知(在頁面的牆上發佈更新以供該頁面的用戶看到)

Update3:似乎Facebook不允許發佈多個帖子通過一段時間,否則我得到了一個錯誤:

Traceback (most recent call last): 
File "C:\Users\toto\Desktop\tooooooooooorfacebook.py", line 5, in <module> 
graph.put_object("me", "feed", message="this is a test") 
File "C:\Python27\lib\site-packages\facebook.py", line 140, in put_object 
post_args=data) 
File "C:\Python27\lib\site-packages\facebook.py", line 298, in request 
raise GraphAPIError(response) 
facebook.GraphAPIError: (#506) Duplicate status message 

回答

-1

上午對不起,問它,現在我覺得它有區別:

,因爲有時間限制的令牌,所以這將是一個艱鉅的任務,每次由管理員生成它,這是Tornado做的,它要求令牌用於每個訪問,所以它會得到Refreshe一個。

self.facebook_request("/me/home", self._on_stream, access_token=self.current_user["access_token"]) 

因此它每次獲取令牌。

再次感謝你,再次抱歉。

+0

如果有降壓,爲什麼不解釋是否錯了? –

+1

Facebook有一種叫做擴展的oauth令牌,持續60天,這意味着令牌不需要刷新。它只是存儲它所看到的令牌,並持久地使用存儲在用戶瀏覽器中的cookie。該令牌是OAuth2進程的一部分,通常就像應用程序的臨時授權密碼。 – Sammaye

+0

所以當使用OAuth功能時,我會得到令牌 –