I would like to get long lived access tokens with my app, and store them in the users table, so I can reuse it later.
I'm making this call :
$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);
The exchange token (zzzzzz) is the variable "code" I get from the first call to facebook:
$facebook->getLoginUrl( array( 'scope' => 'publish_stream' ) );
The API call for the long lived token returns an array
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) }
What do I do wrong ? How can I get the long lived token ?