README
facebook-refresh-token
npm install -g facebook-refresh-token
Configuration
{
"server": {
"protocol": "http",
"host": "dummy.com",
"port": 3000
},
"app": {
"key": "",
"secret": "",
"scope": []
},
"browser": {
"cookie": ""
}
}
- Make sure you are logged in with your primary Facebook account that you are using regularly (this module relies on your browser
cookie
) - Create new OAuth application on developers.facebook.com
- Set the app's Site URL to
http://dummy.com:3000
(or whatever else you want) - Add
127.0.0.1 dummy.com
to your hosts file - Create
config.json
file and copy/paste the above configuration data structure in it - Configure the server
protocol
,host
andport
should be the same as in your app's Site URLkey
App IDsecret
App Secretscope
optionally set scopes required by your app
- Start the server
facebook-refresh-token --config config.json --connect
- Navigate to
http://dummy.com:3000
in your browser - Open up the Developer Tools and select the Network tab, make sure
Preserve log
is checked - Navigate to
http://dummy.com:3000/connect/facebook
and authenticate as usual - Take a look at the authorization request in the Network tab and copy the request's
cookie
header value to the above configuration
Refresh
Every time you want to update your access token execute
facebook-refresh-token --config config.json --refresh
The refreshed access token is logged out to the console. This makes it easy for spawning this script using node or external daemon tool on certain interval of time.
For example you can configure the cron daemon to refresh your access token at 12:00AM on the first of every month
0 0 1 * * facebook-refresh-token --config config.json --refresh > access_token
Reconnect
Keep in mind that if you ever log out manually or due to prolonged inactivity of your Facebook account your cookie will be lost
In this case execute steps 7 to 11 from the above configuration steps