These steps will surface a public endpoint through ngrok with no authentication.
$ curl https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip -o ngrok-stable-linux-amd64.zip
<?php | |
/* | |
Made by Kudusch (blog.kudusch.de, kudusch.de, @Kudusch) | |
--------- | |
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE | |
Version 2, December 2004 | |
Copyright (C) 2004 Sam Hocevar <[email protected]> |
How to get a Facebook Page Access Token that doesn't expire Never! | |
- Go to http://developers.facebook.com/tools/explorer/ | |
- Get a User Access Token with a permission "manage_pages" | |
- Convert this short-lived access token into a long-lived one by making this Graph API call: | |
https://graph.facebook.com/v2.6/oauth/access_token?client_id=<your FB App ID >&client_secret=<your FB App secret>&grant_type=fb_exchange_token&fb_exchange_token=<your short-lived access token> | |
- Make a call Graph API: | |
https://graph.facebook.com/v2.6/<your personal account FB user id>/accounts?access_token=<your long-lived access token> | |
- The returned access_token has no expiration unless you change your password or not more admin of the target page or deauthorize FB page |
// Post a BASE64 Encoded PNG Image to facebook | |
function PostImageToFacebook(authToken) { | |
var canvas = document.getElementById("c"); | |
var imageData = canvas.toDataURL("image/png"); | |
try { | |
blob = dataURItoBlob(imageData); | |
} catch (e) { | |
console.log(e); | |
} | |
var fd = new FormData(); |
downloadObjectAsJson(exportObj: any, exportName: any = Date.now()) { | |
var dataStr = "data:text/json;charset=utf-8," + encodeURIComponent(JSON.stringify(exportObj)); | |
var downloadAnchorNode = document.createElement('a'); | |
downloadAnchorNode.setAttribute("href", dataStr); | |
downloadAnchorNode.setAttribute("download", exportName + ".json"); | |
document.body.appendChild(downloadAnchorNode); // required for firefox | |
downloadAnchorNode.click(); | |
downloadAnchorNode.remove(); | |
} |