开发者

Facebook App not working tihe facebook.php SDK

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

上一篇:

下一篇:

精彩评论

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

最新问答

问答排行榜