Autor Zpráva
Nefri
Profil *
Zdravím, potřeboval bych pomoct s aplikací na fb, vím že to tady asi nepatří ale je to víceméně php s prvký fb. Dopracoval jsem se k funkčnímu "like to reveal"(když někdo dá like pustí ho to dál k aplikaci). Problém je že nevím jak rozchodit zobrazení oprávnění viz. http://d2o0t5hpnwv4c1.cloudfront.net/708_facebook/fb_additional_permissions.png
Mělo by to fungovat nějak na způsob příkazu scope a zapsání údajů viz(http://developers.facebook.com/docs/authentication/permissions/) ale netuším jak a hlavně kde to zapsat.

<?php
require 'facebook.php';

$app_id = "XXXXX";
$app_secret = "XXXXX";
$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
'cookie' => true
));

$signed_request = $facebook->getSignedRequest();
$like_status = $signed_request["page"]["liked"];   


?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>YOUR PAGE TITLE HERE</title>
<link href="style.css" rel="stylesheet" type="text/css" media="screen" />

<script type="text/javascript">
window.fbAsyncInit = function() {
FB.Canvas.setSize();
}
// Do things that will sometimes call sizeChangeCallback()
function sizeChangeCallback() {
FB.Canvas.setSize();
}
</script>

<base target='_blank' />
</head>

<body>

<div id="container">

<?php if ($like_status) { ?>

LIKE LiDI tu

<?php } else { ?>
<center align="center">
<img src="imgstyle/nonfan.jpg" height="390" width="520">
  </center>
<?php } ?>

</div>

<div id="fb-root"></div>
<script src="https://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({
appId : 'XXXXX',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});

window.fbAsyncInit = function() {
FB.Canvas.setAutoResize();
}
</script>
<script>
FB.Event.subscribe('edge.create',
function(response){
top.location.href = 'XXXXX';
});
</script>

</body>
</html>
Medvídek
Profil
Nefri:
Řeším to takto:

if (!$user) {
  $loginUrl = $facebook->getLoginUrl();
  echo '<div id="logged" class="mb"><a onclick="document.getElementById(\'layout\').style.display = \'block\';" target="_top" href="'.$loginUrl.'&scope=read_friendlists,user_events,user_likes,user_groups,user_birthday,rsvp_event,publish_stream,create_event">Přihlásit se pomocí Facebook účtu</a>';
  echo '</div>';
}
Nefri
Profil *
no jo takhle jsem to byl schopen vyřešit taky, jenže uživatel musí nejdříve kliknout na tlačitko než ho to jakoby pustí do aplikace.... nejde nějak udělat aby ho to přimo automaticky přihlasilo ? jedna se o app na fb ne na oddělené stránce..
shaggy
Profil
Nefri:
aby ho to přimo automaticky přihlasilo
Nie, nič také ako automatické prihlásenie neexistuje. Maximálne ho vieš presmerovať rovno na stránku, kde aplikáciu potvrdí, ale automaticky to nebude.
Nefri
Profil *
takže všichni to řeši přesměrováním ? Toto řešení "klikni na odkaz" jsem téměř nikde neviděl
Nefri
Profil *
Jak by teda měl vypadat ten kod kdyby se to mělo automaticky přesměrovat na login ? Přesměrování udělat umím, jenže je problém s tím jakej odkaz tam hodit když se generuje sám.

if (!$user) {
  $loginUrl = $facebook->getLoginUrl();
  echo '<div id="logged" class="mb"><a onclick="document.getElementById(\'layout\').style.display = \'block\';" target="_top" href="'.$loginUrl.'&scope=read_friendlists,user_events,user_likes,user_groups,user_birthday,rsvp_event,publish_stream,create_event">Přihlásit se pomocí Facebook účtu</a>';
  echo '</div>';
}

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: