如何使用curl从Facebook API获取用户访问令牌

flmtquvp  于 2022-11-30  发布在  其他
关注(0)|答案(2)|浏览(171)

我正在写一个程序,检索我们的营销数据从facebook.我写的程序只能使用curl检索用户访问令牌,并没有UI,我发现的唯一信息是调用此url

Curl('https://graph.facebook.com/oauth/authorize?client_id=1534273216862757&response_type=token&redirect_uri=https://www.facebook.com/connect/login_success.html','GET')

然而,当我发送这个,我得到了整个html的重定向页面,没有令牌。
你知道我还有什么办法可以完成这件事吗?
谢谢

vi4fp9gy

vi4fp9gy1#

你只能通过用户交互来获得用户令牌,而不是通过curl。它不是那样工作的,也不应该那样工作。
您可以使用扩展用户令牌,它的有效期为60天。在此之后,用户必须刷新它。
有关令牌的更多信息:

zf2sa74q

zf2sa74q2#

还有一些信息:
https://developers.facebook.com/docs/facebook-login/access-tokens/
您的access_token可以是:{your-app_id}|{your-app_secret}。收件人:它是应用程序令牌,不是用户令牌。它是有限的,因此您不能发出/me之类的请求。
或者尝试此请求以获取access-token:
https://graph.facebook.com/oauth/access_token?client_id={app_id}&client_secret={app_secret}&grant_type=client_credentials&redirect_uri={redirect_uri}
{redirect_uri}是应用程序的任何路由,并且此URI必须在此页面的“有效的OAuth重定向URI”中:https://developers.facebook.com/apps/{app_id}/fb-login/settings/
我不检查这个解决方案,因为我需要请求一些权限(manage_pages,leads_retrieval).我正在等待它将被授予.

相关问题