【发布时间】:2014-01-06 15:02:22
【问题描述】:
我想通过我的应用获取长期使用的访问令牌,并将它们存储在用户表中,以便以后重复使用。 我正在打这个电话:
$urlLongLiveToken = "https://graph.facebook.com/oauth/access_token?
client_id=xxxxxx&client_secret=yyyyyy&grant_type=fb_exchange_token
&fb_exchange_token=zzzzzzzzz";
$facebook->api($urlLongLiveToken);
交换令牌 (zzzzzz) 是我从第一次调用 facebook 时获得的变量“代码”:
$facebook->getLoginUrl( array( 'scope' => 'publish_stream' ) );
长寿命令牌的 API 调用返回一个数组
array(17) { 'about' => string(108) "OAuth is a simple way to publish and interact with
protected data. Learn more about OAuth: http://oauth.net/" 'awards' => string(160) "•
CNET Webware 100 award in the Editors’ Choice Most Important Technology category • Best
New/Improved Standard in IAM & GRC, European Identity Conference" 'can_post' =>
bool(true) 'category' => string(17) "Internet/software" 'description' => string(174)
"OAuth is a simple way to publish and interact with protected data. It's also a safer
and more secure way for people to give you access. We've kept it simple to save you
time." 'founded' => string(4) "2007" 'is_published' => bool(true) 'mission' =>
string(1344) "In developing OAuth, we sought to invent as little as possible, following
the Microformats approach to pave existing cowpaths and relying on conventions already
established in protocols like Google’s AuthSub, aol’s OpenAuth, Yahoo’s BBAuth and
FlickrAuth and Facebook’s FacebookAuth. While we wanted the best protocol we could
design, we also wanted one that people would use and that would be compatible with
existing authentication methods, inherit from existing RFCs and reuse web standards
wherever "... 'products' => string(19) "OAuth 1.0 OAuth 2.0" 'talking_about_count' =>
int(49) 'username' => string(5) "oauth" 'website' => string(17) "http://oauth.net/"
'were_here_count' => int(0) 'id' => string(11) "xxxxxxxxxxxx" 'name' => string(5)
"OAuth" 'link' => string(30) "https://www.facebook.com/oauth" 'likes' => int(7165) }
我做错了什么?如何获得长寿令牌?
【问题讨论】:
标签: php facebook-graph-api facebook-access-token