Pregunta Error API de Facebook 191


Estoy tratando de integrar mi proyecto con Facebook. Al principio, estoy dando pequeños pasos e intento ingresar, obtener una sesión de Facebook y obtener algunos datos de usuario. Lo estoy desarrollando localmente para que la configuración de mi aplicación de Facebook sea:

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

El lienzo URL es el mismo que el anterior. No he especificado un dominio del sitio.

Sin embargo, cuando hago clic en el botón de inicio de sesión, aparece un error:

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.

Por el momento no he escrito ningún código del lado del servidor para tratar con los redireccionamientos, etc. Todo lo que he hecho es agregar el JavaScript SDK basado en el tutorial de Facebook para sitios web.

¿Qué he hecho mal? Obviamente, tiene algo que ver con la configuración de mi aplicación de Facebook, ¡pero no puedo ver qué!


76
2018-01-14 13:56


origen


Respuestas:


ACTUALIZAR:
Para responder al código de error API: 191
los redirect_uri debe ser igual (o relativo) a la URL del sitio.
enter image description here 

Propina:  Use URL base en lugar de URL completas que apuntan a páginas específicas.

NO RECOMENDADO: Por ejemplo, si usa www.mydomain.com/fb/test.html como su URL del sitio y teniendo www.mydomain.com/fb/secondPage.html como redirect_uri esto te dará el error 191.

RECOMENDADO: Por lo tanto, en su lugar, debe configurar su URL de sitio en una URL base como: www.mydomain.com/ O www.mydomain.com/fb/.


Revisé el Facebook Aplicación de muestra Python hoy, y yo estaba conmocionado estaba diciendo claramente que puedes usar http://localhost:8080/ como Sitio URL si estás desarrollando localmente:

Configure la URL del sitio y apúntela   a su servidor web. Si eres   desarrollando localmente, puede usar    http: // localhost: 8080 /

Mientras yo estaba seguro que no puedes hacer eso, basado en mi propia experiencia (prueba muy antigua) parece que en realidad PODER ¡prueba tu aplicación de Facebook localmente!

Así que recogí una aplicación mía antigua y edité su nombre, URL del sitio y URL del lienzo: Sitio URL: http://localhost:80/fblocal/

Descargué la última Facebook PHP-SDK y lo tiró en mi xampp/htdocs/fblocal/ carpeta.

¡Pero tengo el mismo error que el tuyo! Me di cuenta que XAMPP está haciendo una redirección automática a http://localhost/fblocal/ así que cambié la configuración a simplemente http://localhost/fblocal/ y el error se fue PERO Tuve que eliminar la aplicación (de la configuración de privacidad) y reinstalar mi aplicación y aquí están los resultados:
alt text

Después de eso, pidió el publish_stream permiso, y pude publicar en mi perfil (usando el 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;
    }
}

Resultados: alt text


87
2018-01-14 14:02



Para mí, era un dominio de aplicación faltante. Ingresa a la aplicación y asegúrate de que tienes la raíz de tu sitio configurada como dominio de la aplicación. Ver captura de pantalla.

app domains is in the basic settings of your app


11
2018-05-23 16:47



Esto es solo por un error de URL.

Cualquier URL del sitio web especificada debería ser correcta.

Mencioné la URL del sitio web como http://localhost:3000/ y dominio como localhost, pero en mi navegador estaba funcionando http://0.0.0.0:3000/.

Cuando ejecuté el servidor como localhost:3000 resolvió el problema.

Como mencioné, la URL del sitio como localhost Facebook se redirigirá a la misma, si estamos ejecutando 0.0.0.0:3000, aumentará el error de que "La URL dada no está permitida por la configuración de la aplicación".


8
2018-04-30 08:20



También estaba enfrentando el mismo problema cuando uso el método de autenticación de Facebook. Pero rectifico ese problema con los siguientes cambios en la API de Facebook (Apps >> My App >> Basic)

  1. Eliminé la url que he dado en ===> Aplicación en Facebook (URL de lienzo)
  2. Le di URL del sitio solo en ===> Sitio web con inicio de sesión en Facebook opción

Luego di ese AppId y App Secret en mi página web.

Entonces, al hacer clic en el botón de inicio de sesión, solicita permisos de acceso y luego lo redirige a la url (Sitio web con inicio de sesión en Facebook )


2
2017-09-10 12:25



Tenía el mismo problema:

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

Cuando cambié el redirect_uri de la página de devloper a la página en vivo, apareció el error 191.

Así que borré los $ params:

$facebook->getLoginUrl();

Después de la solicitud de la aplicación, ahora FB redirige a la URL de la aplicación en sí, es decir .: my.domain.com

Lo que hago ahora es verificar en index.php de mi aplicación si estoy dentro del iframe de FB o no. Si no, me redirecciono a la página de FB en vivo, es decir:

$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();
}

0
2017-11-21 17:22



También he notado que incluso si especifica su sitio web en la sección - Sitio web con inicio de sesión en Facebook -> URL del sitio como, por ejemplo, http://example.com, pero si su sección de dominios de aplicaciones está vacía y abre un sitio web como www.example.com, también obtendrá este error. Para evitarlo en la sección "Dominios de la aplicación" escriba example.com, que permitirá subdominios, como www.example.com, algo.example.com, etc.


0
2017-12-05 13:42



en la página de la aplicación de Facebook, ve a la pestaña básica. encuentre la opción "Sitio web con inicio de sesión en Facebook".

encontrará la URL del sitio: introduzca allí la URL completa (por ejemplo http://Mywebsite.com/MyLogin.aspx ) esta es la URL que puede usar con la llamada como si la ID de la aplicación es 123456789

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


0
2018-06-28 19:47