1

我需要在 django 应用程序中更新我的 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'

我已经按照以下两个步骤授予了该应用程序的权限:

在 Facebook 页面上发布帖子(1) 和授权 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 的读者

4

1 回答 1

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

这样可行!!

于 2010-02-25T07:47:27.853 回答