2010-02-25 77 views
1

我需要更新我的Facebook專頁的Django應用程序,所以我有這樣的代碼:PyFacebook:Facebook的()實例沒有流方法

import facebook 
from django.conf import settings 

def login_facebook(): 
    fb = facebook.Facebook(settings.FACEBOOK_API_KEY, settings.FACEBOOK_SECRET_KEY) 
    fb.session_key = settings.FACEBOOK_SESSION 
    fb.secret = settings.FACEBOOK_SECRET_KEY 
    fb.uid = settings.FACEBOOK_UID 
    return fb 

def update_status(fb, message): 
    return fb.stream.publish(message=status_message) 

,我用它來與IPython的運行:

import src.tests.scripts.facebook_publish_fanpage as f 
fb = f.login_facebook() 
f.update_status(fb, 'This is a test') 

但我得到這個異常:

AttributeError: 'Facebook' object has no attribute 'stream' 

我已經給權限的應用程序下面這2個步驟:

發佈頁面(1)對Facebook的職位和授權一個Facebook粉絲頁面的狀態更新(2)

但無論我怎麼努力(即做,現在幾個小時......)我無法發佈到頁面...

我迷路了,有什麼幫助嗎?

(1)tech.karolzielinski.com/publish-post-of-facebook-page-wall-as-a-page-not-a-user-python-facebook-rest-api

(2 )stackoverflow.com/questions/2097665/authorizing-a-facebook-fan-page-for-status-updates

PD:對不起還沒有權限添加鏈接,我主要是一個讀者在SO

回答

1

搜尋小時後,我終於找到了解決辦法...不使用流的方法,但是這樣的:

fb(method='stream_publish', args={'session_key': settings.FACEBOOK_SESSION, 'uid':PAGE_ID, 'target_id': 'NULL', 'message':'MESSAGE_HERE'}) 

在此博客文章中找到解決方案:http://danielquinn.org/blog/1578.html

That works !!

相關問題