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

如何使用curl从Facebook API获取用户访问令牌,facebook,facebook-graph-api,curl,Facebook,Facebook Graph Api,Curl,我正在写一个程序,从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

我正在写一个程序,从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,并且没有令牌

你知道我还有什么办法可以做到这一点吗


谢谢

您只能通过用户交互获得用户令牌,而不是通过curl。它不是那样工作的,也不应该是那样工作的

不过,您可以使用扩展用户令牌,它的有效期为60天。之后,用户必须刷新它

有关令牌的更多信息:


    • 有一些信息:

      您的访问令牌可以是:
      {Your-app_id}{Your-app_secret}
      。注意:这是应用程序令牌,不是用户令牌。它是有限的,因此您不能提出像
      /me
      这样的请求

      或尝试此请求以获取访问令牌:

      https://graph.facebook.com/oauth/access_token?client_id={app_id}&client_secret={app_secret}&grant_type=client_凭证&redirect_uri={redirect_uri}

      {redirect_uri}是应用程序的任何路由,并且此uri必须位于此页面中的“Valid OAuth redirect URIs”中:
      https://developers.facebook.com/apps/{app_id}/fb login/settings/


      我不检查此解决方案,因为我需要请求一些权限(管理页面、线索检索)。我正在等待它被授予。

      您是否在命令行上调用curl并添加
      -v
      ?这将告诉您传递了哪些cookie和头。您使用哪种语言调用Curl()函数?PHP?->请在您的问题中添加适当的标记OK,那么有没有办法从graph api查询数据?我可以通过curlcurl检索应用令牌,以获取应用令牌?您只需生成一个带有“app id | app secret”的app令牌,无需任何curl调用即可。用户令牌不能在没有用户交互的情况下生成。它们是用户令牌,因此必须有真正的用户授权应用程序并请求令牌。我理解你的意思,但我需要构建一个程序来检索数据仓库的数据。这是一个自动程序,没有用户参与,所以我必须拥有用户访问令牌,还是有其他方法来检索活动数据?如果你需要用户令牌(我猜你需要),那么没有办法,如果你需要通过facebook进行单元测试怎么办?