Domanda

Sto cercando di integrare il mio progetto con Facebook. Sto prendendo piccoli passi in un primo momento e solo cercando di login, ottenere una sessione di Facebook, e ottenere alcuni dati degli utenti. Sto sviluppando localmente quindi le mie impostazioni delle applicazioni di Facebook sono:

site URL: http://127.0.0.1:8888/mySite/

L'URL tela è lo stesso come sopra. Non ho specificato un dominio del sito.

Tuttavia, quando si fa clic sul pulsante di accesso, ottengo un errore:

API Error Code: 191
API Error Description: The specified URL is not owned by the application
Error Message: redirect_uri is not owned by the application.

Al momento non ho scritto alcun codice lato server a che fare con redirect, ecc Tutto quello che ho fatto è aggiungere l'SDK JavaScript basato sul tutorial Facebook per i siti web .

Che cosa ho fatto di male? E 'ovviamente qualcosa a che fare con le mie impostazioni delle applicazioni di Facebook, ma non riesco a vedere che cosa!

È stato utile?

Soluzione

UPDATE:
Per rispondere al Codice API errore: 191
Il redirect_uri deve essere uguale (o relativa) per l'URL del sito.
entrare descrizione dell'immagine qui

Suggerimento: Utilizza URL di base, invece di URL completi che puntano a pagine specifiche.

Non consigliato: Ad esempio, se si utilizza www.mydomain.com/fb/test.html come l'URL del sito e avere www.mydomain.com/fb/secondPage.html come redirect_uri questo vi darà l'errore 191.

CONSIGLIATI: Così, invece avere il set di URL del sito a un URL di base come:. www.mydomain.com/ O www.mydomain.com/fb/


Sono andato attraverso il Facebook Python applicazione di esempio oggi, ed ero scioccato è stato affermando chiaramente che è possibile utilizzare http://localhost:8080/ come URL del sito se si sta sviluppando a livello locale:

Configura l'URL del sito, e puntarlo al vostro server web. Se tu sei in via di sviluppo a livello locale, è possibile utilizzare http: // localhost: 8080 /

Mentre io è stata sicuro che non si può fare, in base alla mia esperienza personale (molto vecchia prova però), sembra che in realtà possono testare l'applicazione di Facebook a livello locale!

Così ho preso una vecchia applicazione di mine e modificato il suo nome, URL del sito e Canvas URL: URL Sito: http://localhost:80/fblocal/

Ho scaricato l'ultima Facebook PHP-SDK e lo gettò nella mia cartella xampp/htdocs/fblocal/.

Ma ho ottenuto lo stesso errore come la tua! Ho notato che XAMPP sta facendo un reindirizzamento automatico al http://localhost/fblocal/ così ho cambiato l'impostazione semplicemente http://localhost/fblocal/ e la errore è stato andato MA ho dovuto rimuovere l'applicazione (da impostazioni di privacy ) e reinstallare la mia domanda e qui sono i risultati:
alt text

Dopo di che, ha chiesto il permesso publish_stream, e sono stato in grado di pubblicare il mio profilo (usando il PHP-SDK):

$user = $facebook->getUser();
if ($user) {
    try {
        $post = $facebook->api('/me/feed', 'post', array('message'=>'Hello World, from localhost!'));
    } catch (FacebookApiException $e) {
        error_log($e);
        $user = null;
    }
}

Risultati: alt text

Altri suggerimenti

Per me, è stato un dominio applicazione mancante. Andare in app, e assicurarsi di avere il root del vostro sito impostato come dominio app. Visualizza gli screenshot.

domini applicazione è nelle impostazioni di base del vostro app

Questo è solo a causa di un errore URL.

Qualunque sia l'URL del sito web è specificato deve essere corretta.

I menzionato URL del sito web come http://localhost:3000/ e il dominio come localhost, ma nel mio browser stavo correndo http://0.0.0.0:3000/.

Quando ho eseguito server come localhost:3000 ha risolto il problema.

Come ho già detto, l'URL del sito come localhost Facebook reindirizzerà allo stesso, se ci sono in esecuzione 0.0.0.0:3000, sorgerà errore "URL Dato non è consentito dalla configurazione dell'applicazione".

Sono stato anche affrontando lo stesso problema quando sto usando il metodo di autenticazione facebook. Ma io rettificare tale questione con le seguenti modifiche a Facebook api (Apps >> My App >> Basic).

  1. I tolto l'url che ho dato a ===> App su Facebook (Canvas URL)
  2. Ho dato sito URL solo in ===> Sito web con Facebook Login

Poi ho dato quel AppId e App segreto nella mia pagina web.

Quindi, facendo clic sul pulsante di accesso, E chiedere autorizzazioni di accesso allora reindirizzare a dare url ( Sito web con Facebook Login ).

Ha avuto lo stesso problema:

$params = array('redirect_uri' => 'facebook.com/pages/foobar-dev');
$facebook->getLoginUrl($params);

Quando ho cambiato il redirect_uri dalla pagina devloper alla pagina dal vivo, 191 Errore si avvicinò.

Così ho cancellato i $ params:

$facebook->getLoginUrl();

Dopo l'app-richiesta ora FB redirect al app URL stesso f.e .: my.domain.com

Quello che faccio ora è il check-in index.php della mia app, se sono dentro FB iframe o meno. Se io non reindirizzamento alla pagina di FB dal vivo f.e:.

$app = 'facebook.com/pages/foobar-live';
$rd = (isset($_SERVER['HTTP_REFERER'])) ? parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST) : false;
if ($rd == 'apps.facebook.com' || (!isset($_REQUEST['signed_request'])))  {
    echo '<script>window.parent.location = "'.$app.'";</script>';
    die();
}

ho notato anche che anche se si specifica il vostro sito web sotto secion - sito web con Facebook Login -> URL del sito, come ad esempio http://example.com , ma se la vostra sezione App Domini è vuota, e il vostro sito web aperto come www.example.com si ottiene questo errore, anche. Per evitare in "App Domini" sezione scrittura example.com, che permetterà sottodomini, come www.example.com, something.example.com etc

nella pagina Facebook App, goto la scheda di base. trovare "Sito web con Facebook Login" opzione.

troverete URL Sito: ingresso ci ha messo l'URL completo (ad esempio http://Mywebsite.com/MyLogin aspx ). questo è l'URL è possibile utilizzare con la chiamata come se l'applicazione ID è 123456789

https: // grafico. facebook.com/oauth/authorize?client_id=123456789&redirect_uri=http://Mywebsite/MyLogin.aspx&scope=publish_actions

Something I'd like to add, since this is error 191 first question on google:

When redirecting to facebook instead of your own site for a signed request, you might experience this error if the user has secure browsing on and your app does redirect to facebook without SSL.

Working locally... I couldn't get the feeds api to work, but the share api worked pretty much straight away with no problems.

I fixed this by passing the redirect url to the FacebookRedirectLoginHelper::getAccessToken() in my callback function:

Changing from

try {
        $accessToken = $helper->getAccessToken();
}
...

to

try {
        $accessToken = $helper->getAccessToken($fbRedirectUrl);
}
...

I am developing on a vagrant box, and it seems FacebookRedirectLoginHelper::getCurrentUrl() had issues generating a valid url.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top