機能の一部としてクライアントの Facebook ページに投稿するアプリがあります。クライアントはアプリを承認し、拡張ユーザー アクセス トークンとページ アクセス トークンを生成し、必要に応じてクライアントのページに投稿します。最近まですべてが順調でした。アプリは迷惑をかけることなくクライアントのページに投稿しましたが、写真の投稿だけがタイムラインに表示されたことはありません。
不具合のある動作を再現・比較・絞り込みしましたが、直し方がわかりません。次の関数を使用して Facebook に写真を投稿すると:
def post_photo(graph_api, post, post_message, target_page, **kwargs):
"""Posts a photo to wall."""
img_fp = urlopen(post['image'])
if img_fp.getcode() != 200:
raise ValueError('Image request failed. Returned code: %s' % img_fp.getcode())
return graph_api.put_photo(img_fp, post_message, profile_id=target_page, **kwargs)
応答には通常 (常に?) 2 つの値が含まれます:id
とpost_id
post_id
ページまたはアプリの設定で変更する必要があるものはありますか (異なる Facebook アプリは異なるページに投稿します)? プライバシー設定、追加の許可、何か? アイデアが尽きた。アクセス トークン デバッガーは例外的なものを表示せず、ページ設定も表示しません。