1

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'] インデックスを調整すると、メッセージを受信するユーザーを特定できます;)

4

1 に答える 1

1

OK、ドキュメントと API 自体が対応していないようです: https://developers.facebook.com/bugs/212455918831996

ドキュメントによると: relative_url => 'alias', 'body' => '{"access_token" => "..."}'

しかし、この方法だけが機能しているようです: 'relative_url' => 'alias?access_token=...'

FBはバグを確認して「ウィッシュリスト」に載せたようですが、これまでのところ後者が行くべき道であり、少なくとも私にとってはうまくいきます:)

于 2012-05-03T10:57:22.170 に答える