Facebookでアプリを作成し、プロフィールでページを作成します。「アプリをFacebookと統合する方法を選択する」セクションでは、Facebookページにテキストを投稿するだけなので、オプションを選択しません(これは問題になる可能性がありますか?)。私はこのコードを持っています:
FACEBOOK_APP_ID = 'myappid'
FACEBOOK_APP_SECRET = 'myappsecret'
FACEBOOK_PROFILE_ID = 'myprofileid'
oauth_args = dict(client_id = FACEBOOK_APP_ID,
client_secret = FACEBOOK_APP_SECRET,
scope = 'publish_stream',
grant_type = 'client_credentials'
)
oauth_response = urllib.urlopen('https://graph.facebook.com/oauth/access_token?' + urllib.urlencode(oauth_args)).read()
oauth_responseはよさそうだ
しかし、私が実行すると:
resp = urllib.urlopen('https://graph.facebook.com/me/accounts?'+oauth_response).read()
エラーが発生します:
{"error":{"message":"An active access token must be used to query information about the current user.","type":"OAuthException","code":2500}}
私は何が間違っているのですか?たとえば、自分のWebサイト(Django)のボタンをクリックしたときに、ページの壁にテキストを投稿したいと思います。
アップデート:
OK、jsonでページデータを取得します。私はそれを解析し、page_access_tokenを取得しますが、これを呼び出すと:
attach = {
"name": 'Hello world',
"link": 'http://linktosite',
"caption": 'test post',
"description": 'some test'
}
facebook_graph = facebook.GraphAPI(page_access_token)
try:
response = facebook_graph.put_wall_post('', attachment=attach)
except facebook.GraphAPIError as e:
print e
「ターゲットユーザーがこのアクションを承認していません」というエラーが表示されます