Facebook OAuthException: Error validating application
10,892
You don't have APP ID here. And make calls like this:
require_once('facebook.php');
$facebook = new Facebook( array(
'appId' => 'APP_ID',
'secret' => 'APP_SECRET',
'cookie' => true
));
try {
$attachment = array(
'message' => 'some meesgae',
'name' => 'This is my demo Facebook application!',
'caption' => "Caption of the Post",
'link' => 'mylink.com',
'description' => 'this is a description',
'actions' => array(array(
'name' => 'Get Search',
'link' => 'google.com'
))
);
$attachment['access_token'] = $offline_access_token; // add it to the array
$result = $facebook->api('/me/feed', 'POST', $attachment );
var_dump($result);
} catch(Exception $e) {
// error_log( $e ); // should use something like this when in production
echo $e;
}
Untested, but should work. Let me know if it doesn't.
Author by
PFrank
Updated on June 06, 2022Comments
-
PFrank almost 2 years
I have a simple PHP page that is going to be used to post a message to my own wall.
I've obtained an offline_access token that has "read_stream" and "publish_stream" permissions.
define('FB_APIKEY', 'MY_APP_KEY'); define('FB_SECRET', 'MY_APP_SECRET'); define('FB_SESSION', 'MY_OFFLINE_TOKEN'); require_once('facebook.php'); try { $facebook = new Facebook(FB_APIKEY, FB_SECRET); $facebook->api_client->session_key = FB_SESSION; $attachment = array( 'message' => 'some meesgae', 'name' => 'This is my demo Facebook application!', 'caption' => "Caption of the Post", 'link' => 'mylink.com', 'description' => 'this is a description', 'actions' => array(array( 'name' => 'Get Search', 'link' => 'google.com' )) ); $result = $facebook->api('/me/feed?access_token=' . FB_SESSION, 'post', $attachment); var_dump($result); } catch(Exception $e) { echo $e; }
When I run this, I get "OAuthException: Error validating application".
I confirmed that my offline token is good. When I go to https://graph.facebook.com/me?access_token=[MY_OFFLINE_TOKEN], it returns my public profile in JSON format correctly.
So, I'm thinking I'm doing something wrong with the API call somewhere but for the life of me I can't seem to figure it out. I've been wrestling with this issue for the last two days. Could someone please help! :(