我已经在这方面工作了一段时间,我似乎无法让它工作.这似乎是一个经常被问到但很少回答的问题.
我希望我的网站用户将他们的Facebook帐户与我的网站链接.所以他们可以在我的网站上看到他们的流等.
目前,每次他们登录我的网站时,他们都必须再次与Facebook联系.我希望用户可以选择将offline_access提供给他们的数据,这样他们每次访问我的网站时都不必重新登录Facebook /重新连接我的网站.作为我的网站的一般点.
为此,我了解到我需要离线访问.(https://developers.facebook.com/docs/authentication/)虽然从我的搜索中看起来似乎有点文档(Facebook离线访问一步一步).
我已经知道如何要求离线访问我只是不确定如何从中获取数据.
所以我的问题如下;
我请求后如何获得新的infinate Session密钥?
一旦我拥有它并将其存储在数据库中 - 如何使用它创建一个facebook用户而不是仅仅通过正常的受限访问密钥?
仅供参考.我正在使用PHP(codeigniter)和Eliot Haughin的Facebook连接库虽然如果你能使用常规的php库给我代码我只是转换它
非常感谢
对.经过一些搜索和探索代码之后.我想到了.
我已经为多个用户测试了它,并且在一周的时间里它就像一个魅力.
获得offline_access权限后,存储会话密钥和用户ID.(无论你想要什么.我将我的数据存储在我的数据库中).
无限会话密钥看起来像这样df4175330aaddb9d50fd8f84-30000799,其中包含"破折号"作为用户ID之后的所有内容.
然后,下次调用API时,请添加以下代码行.
$ this-> fb-> set_user('Facebook用户ID','离线访问会话密钥',0); 注意,零是它到期之前的时间量.0 =从不.
我的库中的代码如下
$this->fb = new Facebook($this->_api_key, $this->_secret_key); //Query Database to see if user had enabled offline access. //If So extract the userid and session key $this->fb->set_user($fbuserid, $fbsess, 0);
在我的测试中,这非常有效.现在,我的用户可以登录我的网站,并在获得offline_access权限后自动拥有Facebook.它目前已经工作了一个星期没有问题.
我认为这就是一切.但如果我遗漏了任何东西,请告诉我.