Facebook的图形批次,只需要顶级的access_token(Facebook Graph Ba

2019-10-16 16:08发布

我使用Facebook的图形API批量发送一个消息/不同的消息,以注册人的FB墙壁。 我定义为的access_token每个用户以及ACCESS_TOKEN所述有义务顶层(用作回退,根据DOC )。 对于后者我只使用从该批次所列的用户提供的access_token。

问题是,recieving消息的唯一用户,是谁的ACCESS_TOKEN我作为顶级/回退的的access_token一个。 其他用户获得“(#210)用户不可见的”错误消息。 我使用的是3个测试用户安装在我的应用程序,角色。

任何想法什么不顺心吗?

这里是我的代码(蟒蛇),用于产生一个消息给所有注册:

    for soc_reg in self.registrants:
        batch_item = {
            "method" : "POST",
            "relative_url" : FACEBOOK_URL_FEED % (soc_reg['uid']),
            "body" : Helper.toURL(publishParams),
            "access_token" : soc_reg['access_token'],
        }
        batch.append(batch_item)
    params = {
        "access_token" : self.registrants[0]['access_token'], # used as fallback
        "batch" : Helper.toJSON(batch),
    }

结果在下面的“PARAMS”值:

{"access_token": "XYZ", "batch": "[{\"body\": \"caption=&message=is+not+a+test.%0D%0AWe%27re+just+rappin%27+to+the+beat%21&place=146270405429726&link=&description=\", \"access_token\": \"XYZ\", \"method\": \"POST\", \"relative_url\": \"/100003720771245/feed\"}, {\"body\": \"caption=&message=is+not+a+test.%0D%0AWe%27re+just+rappin%27+to+the+beat%21&place=146270405429726&link=&description=\", \"access_token\": \"ZYX\", \"method\": \"POST\", \"relative_url\": \"/100003671211957/feed\"}, {\"body\": \"caption=&message=is+not+a+test.%0D%0AWe%27re+just+rappin%27+to+the+beat%21&place=146270405429726&link=&description=\", \"access_token\": \"YZX\", \"method\": \"POST\", \"relative_url\": \"/100003683601909/feed\"}]"}

所以recieving该消息的唯一的用户是在此定义的一个:“的access_token”:self.registrants [0] [“ACCESS_TOKEN”]当我调整指数I可确定一个recieving所述消息;)

Answer 1:

OK,好像文档和本身没有相应的API: https://developers.facebook.com/bugs/212455918831996

文件说:relative_url => '别名', '体'=> '{ “的access_token”=> “...”}'

但仅此方法似乎工作:“relative_url” =>“?别名=的access_token ......”

FB似乎也印证了错误,并把它的“心愿”,到目前为止,后者是要走的路,至少对我的作品:)



文章来源: Facebook Graph Batch, only takes top-level access_token