开发者

Facebook App not working tihe facebook.php SDK

开发者 https://www.devze.com 2023-04-09 01:02 出处:网络
Not sure why this isn\'t working, and was hoping someone might be able to point me in the right direction.

Not sure why this isn't working, and was hoping someone might be able to point me in the right direction.

I have a facebook tab app that should display different content depending on whether a user "likes us or not."

require_once('src/facebook.php');
$app_id = "142214XXXXXXXX";  <--this is correct just hidden
$app_secret = "31275c8895XXXXXXXX";
$facebook = new facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
'cookie' => true
));
$signed_request = $facebook->getSignedRequest();
$like_status = $signed_request["page"]["liked"];

//just for testin开发者_JS百科g (nothing shows up, nor does print($signed_request)
echo "the page is ".$page_id;

if(!$like_status){
echo "Please LIKE US to get this offer or check back on Sept 27";
} else {
echo '<img src="https://www2418.ssldomain.com/frightfurnace/SLOSSbogo.jpg"/><BR />
<a href="http://www.frightfurnace.com/coupon.asp">Printable Page</a>';
}

Now, I know that the SDK is installed and working properly since it does work with the example: http://www.frightfurnace.com/Facebook/example.php

I have also made sure I am using absolute urls in my Facebook App settings. I am using http://www.frightfurnace.com/Facebook/coupon.php

Same with SSL.

Any ideas, kinda stymied. All help appreciated.


Well found the answer in case anyone else needs it.

Go to your apps on Facebook https://developers.facebook.com/apps/

Go to edit settings

On the left click Advanced

signed_request for Canvas: (Make it enabled) iframe Page Tab: (enabled)

Under Canvas Settings make sure Canvas Type is iFrame

Seemed to work for me.


Another thing to check: the tab/canvas url must be EXACTLY the same as required. If there is a redirect to another page, then signed request and other values will not be sent. You can check using a browser sniffer, if a call to the page responds with a 300 (301/302 etc) redirect, then you need to change to what it redirects to.

Examples:

https://example.com/ may need to be https://www.example.com/ (add www., or remove www. depending on how server is set up)

www.example.com/ may need to be www.example.com/index.php (add index.php, or the right page).

Check you are using http:// and https:// correctly in the URLs, and that https:// returns a valid page.

0

精彩评论

暂无评论...
验证码 换一张
取 消