Saya telah menulis game untuk Facebook menggunakan Rails dan jQuery. Sejak saya mulai menggunakan Facebook Javascript SDK, menggunakan localhost sebagai domain aplikasi sepertinya berfungsi dengan baik. Saya dapat menguji game saya secara lokal dan di Heroku.
Di masa lalu, tampaknya Facebook telah melakukan pembaruan besar pada UI pengembang mereka. Sekarang jika saya menambahkan localhost sebagai domain aplikasi, itu memberi saya kesalahan berikut:
Ini harus berasal dari URL Kanvas, URL Kanvas Aman, URL Situs, URL Situs Seluler, URL Tab Halaman atau URL Tab Halaman Aman. Periksa dan perbaiki domain berikut: localhost
Game saya sekarang juga tidak berfungsi secara lokal dan saya mendapatkan kesalahan saat Javascript SDK memasukkan pengguna:
Kode Kesalahan API: 191 API Kesalahan Deskripsi: URL yang ditentukan tidak dimiliki oleh aplikasi Pesan Kesalahan: Redirect_uri tidak valid: URL yang diberikan tidak diizinkan oleh konfigurasi Aplikasi.
Ini tidak terjadi saat saya menerapkan game saya, karena herokuapp.com dianggap sebagai domain aplikasi yang valid.
Bagaimana saya bisa mengembangkan dan menguji game saya jika saya tidak bisa lagi menggunakan localhost atau 127.0.0.1?
sumber
Jawaban:
Protokolnya tampaknya terus berubah, dan jawaban yang diterima tidak berhasil untuk saya hari ini. Jika ini membantu pencari lain, inilah yang berhasil untuk saya:
1.) Di tengah di bawah kotak opsi pertama, klik "+ Tambahkan Platform" dan pilih "Situs web" (atau apa pun yang sesuai untuk aplikasi Anda.)
2.) Di kotak yang muncul untuk situs web yang baru saja Anda tambahkan: URL Situs:
http://localhost:3000/
3.) Di kotak di atas itu (Pengaturan => Dasar): Domain Aplikasi:
localhost
4.) Di kanan bawah - klik "Simpan Perubahan"
5.) Pastikan Anda memiliki ID aplikasi yang disalin dan ditempel dengan benar ke dalam kode Anda. (ID ada di kotak pertama pada halaman itu jika Anda membutuhkannya lagi.)
sumber
localhost
karena ini sebelumnya tidak berfungsi sebelumnya. Terima kasih atas jawaban yang bagus.sumber
Anda masih dapat menguji aplikasi Anda tanpa menerapkannya pada server jarak jauh seperti heroku. Triknya adalah memperbarui
etc/hosts
file dengan cara ini:Kemudian pada pengaturan Facebook App, ketik [ http: //] mydomain.com, tanpa "[" dan "]"
Ini berhasil bagi saya seperti ini
sumber
Untuk semua orang yang gelisah dengan ini di tahun 2017. Antarmukanya berubah lagi. Saya ingin mengomentari ini untuk jawaban tetapi saya tidak memiliki reputasi yang cukup. Url localhost aplikasi Anda sekarang harus disalin ke tiga tempat. Saat ini (26 Oktober 2017) urutannya adalah:
1.) Klik "Pengaturan" di menu sebelah kiri.
2.) Di tengah di bawah kotak opsi pertama, klik "+ Tambahkan Platform" dan pilih "Situs web" (atau apa pun yang sesuai untuk aplikasi Anda.)
3.) Di kotak yang muncul untuk situs web yang baru saja Anda tambahkan salin url situs localhost Anda (fe http: // localhost: 3000 / )
4.) Di kotak di atas, "Domain Aplikasi" salin URL yang sama
5.) Di kanan bawah - klik "Simpan Perubahan"
6.) Di menu sebelah kiri di bawah "Produk" klik "Login Facebook" (atau tambahkan melalui "+ Tambahkan Produk" jika tidak tersedia)
7.) Anda sekarang berada di pengaturan Login Facebook. Salin url yang sama ke kolom "Valid OAuth redirect URIs"
Ini seharusnya berhasil.
sumber
Cukup tambahkan localhost sebagai url kanvas atau url situs seluler Anda, ini akan memungkinkan Anda memiliki localhost dan herokuapp.com dalam pengaturan Domain Aplikasi Anda. Kemudian setelah aplikasi Anda dalam produksi, hapus saja.
sumber
Ini cara yang salah. Anda harus membuat aplikasi pengujian menggunakan tab Test di pengaturan aplikasi. Dan kemudian Anda dapat memasukkan url tahap pengembangan Anda (misalnya localhost) ke aplikasi Anda.
sumber
Solusi menggunakan Firebase
Untuk membuatnya berfungsi
localhost
, port3000
saya melakukan hal berikut:localhost
ke Domain Aplikasihttp://localhost:3000/
ke URL Situs dengan memilih "+ Tambahkan Platform"Sampai saat ini saya telah mengikuti semua jawaban sebelumnya yang dikirimkan di sini, tetapi tidak ada yang berhasil.
Begitu...
Di menu sebelah kiri, pilih "Tambahkan Produk"
Tambahkan "Login dengan Facebook"
Anda akan disajikan carrousel alur kerja, dengan domain default
http://localhost:3000/
, klik "lanjutkan" hingga akhir.Pilih "Login Facebook> Pengaturan" dari Menu Produk.
Masukkan URI pengalihan OAuth Firebase Anda (ditemukan saat mengaktifkan Login dengan Facebook di konsol firebase https://console.firebase.google.com , contoh di bawah)
Selesai.
sumber
Coba gunakan url dengan port, mis
Saya mengalami masalah yang sama dan menemukan solusi ini sekarang.
sumber
Ini berfungsi untuk saya di heroku, hal localhost tidak berfungsi (untuk saya). Saya harap ini membantu
1.) Di tengah di bawah kotak opsi pertama, klik "+ Tambahkan Platform" dan pilih "Situs web" (atau apa pun yang sesuai untuk aplikasi Anda.)
2.) Di kotak yang muncul untuk situs web yang baru saja Anda tambahkan: URL Situs: http://MYAPP.herokuapp.com/ (ganti MYAPP dengan nama aplikasi Anda)
3.) Pada kotak di atasnya (Settings => Basic): App Domain: MYAPP.herokuapp.com (ganti MYAPP dengan nama app Anda)
4.) Di kanan bawah - klik "Simpan Perubahan"
sumber
Sekadar catatan untuk beberapa orang lain yang mungkin berjuang dengan ini seperti saya. Saya belum bisa membuatnya bekerja dengan aplikasi "tes". Menggunakan pengaturan aplikasi saya yang sebenarnya (dan hanya menambahkan
ke URL kanvas saya) berfungsi seperti yang disarankan orang lain. Tampaknya aplikasi uji tidak sama dengan aplikasi sebenarnya.
sumber
Saya mengalami masalah dengan aplikasi Rails saya yang biasanya saya jalankan dengan http: // localhost: 3000 karena Facebook sekarang membutuhkan pengalihan OAuth yang Valid untuk menggunakan https.
Untuk menggunakan https secara lokal, saya menggunakan [ngrok] [1] yang memungkinkan Anda menggunakan https dengan menyediakan sebuah terowongan. Untuk melakukan ini:
sumber
untuk melakukan pengujian lokal yang harus Anda lakukan adalah mematikan aplikasi, atau meletakkan aplikasi facebook dalam mode pengembangan. Kemudian Facebook akan mengizinkan Anda sendiri untuk mengakses aplikasi
sumber
Bagi saya itu bekerja seperti ini:
Mengonfigurasi dasbor aplikasi facebook:
* Pada tab 'dasar':
1) Membiarkan domain aplikasi kosong.
2) Menghapus platform apa pun. Artinya: tidak ada situs web tanpa platform kanvas. (jadi tidak ada bidang situs-URL yang harus diisi)
* Pada tab 'lanjutan':
3) Saya masuk ke dalam URI pengalihan OAuth yang valid:
4) mengenai kode saya, masukkan c: /xampp/htdocs/localhost/myappfolder/index.php saya (file ini membuat loginURL):
di dalam file redirect.php:
dan saya mendapat sesi! akhirnya! tidak perlu gantung diri pada akhirnya: P
sumber