Facebook Graph Batch API を使用して、1 つのメッセージ/異なるメッセージを登録済みのユーザーの FB ウォールに送信しています。各ユーザーの access_token と、必須のトップレベル access_token ( docによると、フォールバックとして使用) を定義しています。後者については、バッチにリストされているユーザーから access_token を使用するだけです。
問題は、メッセージを受信する唯一のユーザーが、トップレベル/フォールバック access_token として使用した access_token のユーザーであるということです。他のユーザーには、「(#210) ユーザーが表示されません」というエラー メッセージが表示されます。app-roles で 3 人のテスト ユーザーのセットアップを使用しています。
ここで何がうまくいかないのですか?
すべての登録者に 1 つのメッセージを生成するための私のコード (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'] インデックスを調整すると、メッセージを受信するユーザーを特定できます;)