gpt4 book ai didi

python - 以编程方式获取使用 Facebook Graph API 的访问 token

转载 作者:IT老高 更新时间:2023-10-28 21:38:32 25 4
gpt4 key购买 nike

我正在尝试组合一个 bash 或 python 脚本来使用 facebook 图形 API。使用 API 看起来很简单,但我无法在我的 bash 脚本中设置 curl 来调用 authorize 和 access_token。有没有人有一个可行的例子?

最佳答案

2018 年 8 月 23 日更新

由于这仍然得到一些观点和支持,我只想提一下,现在似乎存在一个维护的第 3 方 SDK:https://github.com/mobolic/facebook-sdk


迟到总比没有好,也许其他搜索它的人会找到它。我让它在 MacBook 上使用 Python 2.6。

这要求你有

您可以在 Facebook 开发人员文档中阅读有关身份验证的内容。见 https://developers.facebook.com/docs/authentication/了解详情。

这篇博文也可能对此有所帮助:http://blog.theunical.com/facebook-integration/5-steps-to-publish-on-a-facebook-wall-using-php/

这里是:

#!/usr/bin/python
# coding: utf-8

import facebook
import urllib
import urlparse
import subprocess
import warnings

# Hide deprecation warnings. The facebook module isn't that up-to-date (facebook.GraphAPIError).
warnings.filterwarnings('ignore', category=DeprecationWarning)


# Parameters of your app and the id of the profile you want to mess with.
FACEBOOK_APP_ID = 'XXXXXXXXXXXXXXX'
FACEBOOK_APP_SECRET = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
FACEBOOK_PROFILE_ID = 'XXXXXX'


# Trying to get an access token. Very awkward.
oauth_args = dict(client_id = FACEBOOK_APP_ID,
client_secret = FACEBOOK_APP_SECRET,
grant_type = 'client_credentials')
oauth_curl_cmd = ['curl',
'https://graph.facebook.com/oauth/access_token?' + urllib.urlencode(oauth_args)]
oauth_response = subprocess.Popen(oauth_curl_cmd,
stdout = subprocess.PIPE,
stderr = subprocess.PIPE).communicate()[0]

try:
oauth_access_token = urlparse.parse_qs(str(oauth_response))['access_token'][0]
except KeyError:
print('Unable to grab an access token!')
exit()

facebook_graph = facebook.GraphAPI(oauth_access_token)


# Try to post something on the wall.
try:
fb_response = facebook_graph.put_wall_post('Hello from Python', \
profile_id = FACEBOOK_PROFILE_ID)
print fb_response
except facebook.GraphAPIError as e:
print 'Something went wrong:', e.type, e.message

在获取 token 时检查错误可能会更好,但您知道该怎么做。

关于python - 以编程方式获取使用 Facebook Graph API 的访问 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3058723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com