我正在尝试建立一个小型网站,它将执行以下操作:
客户应单击“使用 facebook 登录”并分配访问令牌。我请求的权限是:'email、user_about_me、user_birthday、user_relationship_details、user_status、publish_actions、friends_birthday、publish_stream、read_friendlists'
我在我的数据库上创建客户并保存它的 facebook id 和 accessToken。
在我的服务器上,我运行一个提取朋友列表的 cron 作业,并使用 APP access_token 我用类似这样的 url 调用图形 api:https ://graph.facebook.com/USER_ID/friends?fields=birthday,name ,email&access_token=MY_APP_ACCESS_TOKEN(不是我从客户端提取的令牌,因为该令牌应该过期)
问题是,如果我使用客户访问令牌调用此链接,我会得到所有详细信息,但如果我使用应用程序 access_token 调用,我只会得到姓名和 ID,而不是生日和电子邮件。因为我想每天运行我的脚本,并在他们生日时以客户的名义向他的朋友发送问候,所以我想使用不应过期的应用程序 access_token。我怎样才能实现这种方法?
更新:似乎通过使用这种方法请求长期访问令牌解决了我的问题:https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token,也许它可以节省一些时间