【问题标题】:Facebook Access Token for Single User Application单用户应用程序的 Facebook 访问令牌
【发布时间】:2015-12-28 19:43:39
【问题描述】:

我正在 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,
)

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

【问题讨论】:

    标签: python facebook facebook-graph-api oauth server-side


    【解决方案1】:

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

    我访问了 Graph API Explorer (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_token,在任何后续调用中,我都可以随时使用该代码更新 access_token,以确保它被刷新。

    【讨论】:

      猜你喜欢
      • 2012-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-05
      • 2016-01-18
      • 2014-03-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多