Pertanyaan Kesalahan Facebook API 191


Saya mencoba mengintegrasikan proyek saya dengan Facebook. Saya mengambil langkah kecil pada awalnya dan hanya mencoba untuk masuk, mendapatkan sesi Facebook, dan mendapatkan beberapa data pengguna. Saya mengembangkannya secara lokal sehingga pengaturan aplikasi Facebook saya adalah:

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

URL kanvas sama seperti di atas. Saya belum menentukan domain situs.

Namun, ketika saya mengklik tombol login, saya mendapatkan kesalahan:

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.

Saat ini saya belum menulis kode sisi server apa pun untuk menangani pengalihan, dll. Yang sudah saya lakukan adalah menambahkan SDK JavaScript berdasarkan tutorial di Facebook untuk Situs Web.

Apa yang telah saya lakukan salah? Ini jelas ada hubungannya dengan pengaturan aplikasi Facebook saya, tetapi saya tidak bisa melihat apa!


76
2018-01-14 13:56


asal


Jawaban:


MEMPERBARUI:
Untuk menjawab Kode Kesalahan API: 191
Itu redirect_uri harus sama (atau relatif) dengan URL Situs.
enter image description here 

Tip:  Gunakan URL dasar, bukan URL lengkap yang mengarah ke halaman tertentu.

TIDAK DIREKOMENDASIKAN: Misalnya, jika Anda menggunakan www.mydomain.com/fb/test.html sebagai URL Situs Anda dan memiliki www.mydomain.com/fb/secondPage.html sebagai redirect_uri ini akan memberi Anda kesalahan 191.

DIREKOMENDASIKAN: Jadi, alih-alih, tetapkan URL Situs Anda ke URL dasar seperti: www.mydomain.com/ ATAU www.mydomain.com/fb/.


Saya pergi melalui Facebook Aplikasi sampel Python hari ini, dan aku terkejut itu menyatakan dengan jelas bahwa Anda dapat menggunakan http://localhost:8080/ sebagai alamat URL jika Anda mengembangkan secara lokal:

Konfigurasikan URL Situs, dan tunjuk   ke Server Web Anda. Jika kamu   berkembang secara lokal, Anda dapat menggunakan    http: // localhost: 8080 /

Ketika saya adalah yakin Anda tidak bisa melakukan itu, berdasarkan pengalaman saya sendiri (meskipun sangat tua) tampaknya Anda benar-benar BISA menguji aplikasi Facebook Anda secara lokal!

Jadi saya mengambil aplikasi lama saya dan mengedit namanya, URL Situs dan URL Kanvas: Alamat URL: http://localhost:80/fblocal/

Saya mengunduh yang terbaru Facebook PHP-SDK dan melemparkannya ke saya xampp/htdocs/fblocal/ map.

Tapi saya mendapat kesalahan yang sama seperti milik Anda! aku tahu itu XAMPP melakukan pengalihan otomatis ke http://localhost/fblocal/ jadi saya mengubah pengaturannya menjadi sederhana http://localhost/fblocal/ dan kesalahan itu hilang TAPI Saya harus menghapus aplikasi (dari pengaturan Privasi) dan instal ulang aplikasi saya dan inilah hasilnya:
alt text

Setelah itu, diminta untuk publish_stream izin, dan saya dapat mempublikasikan ke profil saya (menggunakan 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;
    }
}

Hasil: alt text


87
2018-01-14 14:02



Bagi saya, itu adalah domain aplikasi yang hilang. Buka aplikasi, dan pastikan Anda memiliki root dari situs Anda yang disiapkan sebagai domain aplikasi. Lihat screenshot.

app domains is in the basic settings of your app


11
2018-05-23 16:47



Ini hanya karena kesalahan URL.

URL situs web apa pun yang ditentukan harus benar.

Saya menyebutkan URL situs web sebagai http://localhost:3000/ dan domain sebagai localhost, tetapi di browser saya, saya menjalankan http://0.0.0.0:3000/.

Ketika saya menjalankan server sebagai localhost:3000 itu memecahkan masalah.

Seperti yang saya sebutkan, URL situs sebagai localhost Facebook akan dialihkan ke hal yang sama, jika kita menjalankannya 0.0.0.0:3000, itu akan meningkatkan kesalahan bahwa "Mengingat URL tidak diizinkan oleh konfigurasi Aplikasi".


8
2018-04-30 08:20



Saya juga menghadapi masalah yang sama ketika saya menggunakan metode otentikasi facebook. Tapi saya memperbaiki masalah itu dengan mengikuti perubahan di api Facebook (Apps >> My App >> Basic).

  1. Saya menghapus url yang telah saya berikan ===> Aplikasi di Facebook (URL Kanvas)
  2. Saya memberi url situs hanya di ===> Situs web dengan Login Facebook pilihan

Kemudian saya memberi AppId dan App Secret di halaman web saya.

Jadi dengan mengklik tombol login, itu meminta izin akses kemudian mengarahkannya untuk memberikan url (Situs web dengan Login Facebook ).


2
2017-09-10 12:25



Punya masalah yang sama:

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

Ketika saya mengubah redirect_uri dari halaman devloper ke halaman aktif, 191 Error muncul.

Jadi saya menghapus $ params:

$facebook->getLoginUrl();

Setelah permintaan aplikasi sekarang FB mengalihkan ke url aplikasi itu sendiri f.e .: my.domain.com

Apa yang saya lakukan sekarang adalah memeriksa index.php dari aplikasi saya jika saya di dalam iframe FB atau tidak. Jika tidak, saya mengalihkan ke halaman FB langsung 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();
}

0
2017-11-21 17:22



Saya perhatikan juga bahwa bahkan jika Anda menentukan situs web Anda di bawah sekion - Situs Web Dengan Login Facebook -> url Situs seperti misalnya http://example.com, tetapi jika bagian Domain Aplikasi Anda kosong, dan Anda membuka situs web sebagai www.example.com, Anda akan mendapatkan kesalahan ini juga. Untuk menghindarinya di bagian "Domain Aplikasi", tulis example.com, yang akan memungkinkan subdomain, seperti www.example.com, something.example.com, dll.


0
2017-12-05 13:42



di Halaman Aplikasi facebook, buka tab dasar. temukan Opsi "Situs Web dengan Login Facebook".

Anda akan menemukan URL Situs: masukkan di sana masukkan URL lengkap (misalnya http://Mywebsite.com/MyLogin.aspx ). ini adalah URL yang dapat Anda gunakan dengan panggilan seperti Jika ID APP adalah 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



Sesuatu yang ingin saya tambahkan, karena ini adalah kesalahan 191 pertanyaan pertama di google:

Saat mengalihkan ke facebook alih-alih situs Anda sendiri untuk permintaan yang ditandatangani, Anda mungkin mengalami kesalahan ini jika pengguna memiliki penelusuran aman dan aplikasi Anda mengalihkan ke facebook tanpa SSL.


0
2017-12-05 16:15



Bekerja secara lokal ... Saya tidak bisa mendapatkan umpan api untuk bekerja, tetapi api berbagi bekerja cukup banyak langsung tanpa masalah.


0
2017-09-08 09:44