首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >& django-facebook -向页面提要发布链接和照片

& django-facebook -向页面提要发布链接和照片
EN

Stack Overflow用户
提问于 2013-07-23 18:50:28
回答 1查看 340关注 0票数 0
代码语言:javascript
复制
@facebook_required_lazy(scope=['manage_pages', 'publish_stream', 'photo_upload'])
def index(request):
    if request.method == 'POST':
        form = CPYPosterForm(request.POST)

        if form.is_valid():
            fb = require_persistent_graph(request)
            msg = form.cleaned_data['msg']
            pages = form.cleaned_data['pages']

            res = dict()
            for p in pages:
                try:
                    key = PAGE_CHOICES[p]
                except KeyError:
                    key = p
                res[key] = fb.set('{page_id}/feed'.format(page_id=p), message=msg)

我正试着贴到多个页面的提要上。当我发布简单的文本时,没问题。然而,当我试图上传一张照片,甚至一个链接,该项目确实会被发布到提要,但它是“最近的文章被其他人”部分,而不是页面提要本身。

它以我的身份发布,而不是作为页面。我是否需要做一些特殊的工作,以便在页面提要(作为页面)中发布带有链接和/或照片的项目?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-23 21:02:06

Facebook Graph API PHP SDK posting on page as page

找到了。有一个不同的访问令牌来模拟要作为页面发布的页面。您可以从/me/accounts获取该信息,并使用该令牌作为页面发布。更新的工作代码:

代码语言:javascript
复制
@facebook_required_lazy(scope=['manage_pages', 'publish_stream', 'photo_upload'])
def index(request):
    if request.method == 'POST':
        form = CPYPosterForm(request.POST)

        if form.is_valid():
            fb = require_persistent_graph(request)
            msg = form.cleaned_data['msg']
            pages = form.cleaned_data['pages']

            me_accounts = fb.get('/me/accounts')
            access_token = None

            resp = dict()
            for p in pages:
                for d in me_accounts['data']:
                    if d['id'] == p:
                        access_token = d['access_token']
                try:
                    key = PAGE_CHOICES[p]
                except KeyError:
                    key = p

                openfb = OpenFacebook(access_token)
                resp[key] = openfb.set('{page_id}/feed'.format(page_id=p), message=msg, link='http://www.espn.com')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17818619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档