单用户应用程序的Facebook访问令牌

2024-04-20 09:04:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在Facebook上创建一个应用程序,它将只有一个用户:我。我没有为应用程序制作GUI,这意味着没有客户端身份验证。你知道吗

有没有一种方法,我可以使用我的用户名和密码或其他一些应用程序信息,以获得一个访问令牌为自己?你知道吗

我对刷新令牌流和其他人的OAuth应用程序的一切都很熟悉,但我从来没有在没有某种Facebook登录按钮的情况下这样做过,尤其是在单人应用程序上。我很高兴硬编码在我的用户信息。你知道吗

我试过用这个:

access_token_url = 'https://graph.facebook.com/oauth/access_token?type=client_cred&client_id=' + config['app_id'] + '&client_secret=' + config['app_secret']
token_response = urllib.urlopen(access_token_url).read()
access_token = token_response.replace('access_token=', '')
session = FacebookSession(
    config['app_id'],
    config['app_secret'],
    access_token,
)

但这并没有给我一个特定于我自己帐户的访问令牌,只有一个用于应用程序本身。你知道吗


Tags: 用户clienttoken信息idconfigapp应用程序
1条回答
网友
1楼 · 发布于 2024-04-20 09:04:33

我设法弄明白了。以下是我所做的:

我去了graphapi浏览器(https://developers.facebook.com/tools/explorer),然后从那里为我的应用程序获得了一个访问令牌。你知道吗

一旦我有了这个令牌,我就使用这个URL来获得一个长寿命的令牌,使用这个访问令牌:

token_exchange_url = 'https://graph.facebook.com/oauth/access_token?
                      client_id=APP_ID&
                      client_secret=APP_SECRET&
                      grant_type=fb_exchange_token&
                      fb_exchange_token=ACCESS_TOKEN'

exchange_response = urllib.urlopen(token_exchange_url).read()
access_token = exchange_response.replace('access_token=', '')
access_token = access_token[:access_token.index('&')]

然后我保存了access\u令牌,在任何后续调用中,我都可以随时使用该代码更新access\u令牌,以确保它被刷新。你知道吗

相关问题 更多 >