Facebook API - brak tokenu

Facebook API - brak tokenu
0

Piszę aplikacje na Facebook, testuję ją sobie na moim lokalnym komputerze, chcę pobrać token aby móc korzystać z Graph API, ale zmienna która zawiera token jest pusta, próbowałem wszystkich opisanych metod pobierania tokenu ale wszystkie dają ten sam efekt. Aplikacja jest włączona oraz ma przydzielone App ID oraz App Secret. W polu Settings mam wypełnione tylko pole Contact Email. Użyłem narzędzia Graph Api i przydzieliłem uprawnienia do zarządzania stronami. Efekt zawsze jest ten sam: zmienna $accessToken jest pusta. (część tego kodu skopiowałem z oficjalnej dokumentacji (https://developers.facebook.com/docs/php/gettingstarted/5.0.0)

Kopiuj
 
<html>
<head>
<title>Moja Aplikacja</title>
<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId      : 'appId',
      xfbml      : true,
      version    : 'v2.4'
	  cookie	 : true
    });
  };

  (function(d, s, id){
     var js, fjs = d.getElementsByTagName(s)[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement(s); js.id = id;
     js.src = "//connect.facebook.net/en_US/sdk.js";
     fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk'));
</script>
</head>
<body>
<?
	require_once("./Facebook/facebook.php");
	$fb = new Facebook\Facebook([
	'app_id' => 'appId',
	'app_secret' => 'appSecret',
	'default_graph_version' => 'v2.4',
	]);
	$helper = $fb->getJavaScriptHelper();
	try {
		$accessToken = $helper->getAccessToken();
	} catch(Facebook\Exceptions\FacebookResponseException $e) {
	// When Graph returns an error
	echo 'Graph returned an error: ' . $e->getMessage();
	exit;
	} catch(Facebook\Exceptions\FacebookSDKException $e) {
	// When validation fails or other local issues
	echo 'Facebook SDK returned an error: ' . $e->getMessage();
	exit;
	}
	if (isset($accessToken)) {
	print $accessToken;
	} else{
		print "NOTHING";
	}
?>
</body>
</html>
0

Oryginalnie mam

Kopiuj
require_once("./Facebook/autoload.php");
MO
  • Rejestracja:ponad 18 lat
  • Ostatnio:około 7 godzin
0

Nigdy nie uzywałem php ale w javie kod wygląda jak poniżej.
Moze po prostu jako user nie zaakceptowaleś aplikacji? W tym celu przekieruj usera na stronę logowania (redirect w js)

Kopiuj
	
		if (request.getParameter("signed_request") == null)
			{
				model.setViewName("redirect");
				model.addObject("appKey",  getAppKey() );
				model.addObject("gameUrl", getGameUrl() );

				return model;
			}
 

strona z modelem i redirectem:

Kopiuj
<html>
<head>
<script type="text/javascript">
	var oauth_url = 'https://www.facebook.com/v2.3/dialog/oauth';
	oauth_url += '?client_id=${appKey}';
	oauth_url += '&redirect_uri='
			+ encodeURIComponent('${gameUrl}');
	oauth_url += '&scope=user_friends,email';
	window.top.location = oauth_url;
</script>
</head>
<body>

</body>
</html>
edytowany 2x, ostatnio: dzek69
0

Zaakceptowałem, aktualny komunikat błędu to "Błąd połączenia z serwerem" wykorzystuje OAUTH

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.