我正在使用 Facebook Graph Batch API 向注册人的 FB 墙发送一条消息/不同消息。我正在为每个用户定义一个 access_token ,以及必须的顶级 access_token (根据doc用作后备)。对于后者,我只使用批处理中列出的用户的 access_token。
问题是唯一收到消息的用户是我用作顶级/后备access_token的access_token的用户。其他用户收到“(#210) 用户不可见”错误消息。我在我的应用程序角色中使用 3 个测试用户设置。
知道这里出了什么问题吗?
这是我的代码(python),用于向所有注册人生成一条消息:
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\"}]"}
因此,唯一接收消息的用户是此处定义的用户: "access_token" : self.registrants[0]['access_token'] 当我调整索引时,我可以确定接收消息的用户;)