แค่อยากรู้ว่ามีวิธีใดบ้างที่ฉันสามารถพัฒนาแอปพลิเคชั่น Facebook ใน localhost
แค่อยากรู้ว่ามีวิธีใดบ้างที่ฉันสามารถพัฒนาแอปพลิเคชั่น Facebook ใน localhost
คำตอบ:
แก้ไข: 2-15-2012 นี่คือวิธีการใช้การรับรองความถูกต้อง FB สำหรับเว็บไซต์ localhost
ฉันพบว่ามันสามารถปรับขนาดได้และสะดวกกว่าในการตั้งค่าแอพ Facebook ครั้งที่สอง ถ้าฉันสร้าง MyApp ฉันจะสร้างอีกอันที่สองเรียกว่า MyApp-dev
Website
ช่องทำเครื่องหมายใต้ 'เลือกวิธีที่แอปพลิเคชันของคุณทำงานร่วมกับ Facebook' (ในเวอร์ชั่น Facebook ล่าสุดคุณสามารถค้นหาได้ในการตั้งค่า> พื้นฐาน> เพิ่มแพลตฟอร์ม - จากนั้นเลือกเว็บไซต์)if Rails.env == 'การพัฒนา' || Rails.env == 'ทดสอบ' Rails.application.config.middleware.use OmniAuth :: Builder ทำได้ ผู้ให้บริการ: facebook, 'DEV_APP_ID', 'DEV_APP_SECRET' ปลาย อื่น # การผลิต Rails.application.config.middleware.use OmniAuth :: Builder ทำได้ ผู้ให้บริการ: facebook, 'PRODUCTION_APP_ID', 'PRODUCTION_APP_SECRET' ปลาย ปลาย
ฉันชอบวิธีนี้เพราะเมื่อตั้งค่าแล้วผู้ร่วมงานและเครื่องอื่น ๆ จะไม่มีการตั้งค่าเพิ่มเติม
แน่นอนคุณทำได้เพียงเพิ่ม url localhost (ไม่มี "http") ใน app_domain ของคุณแล้วเพิ่มใน site_url ของคุณhttp://localhost
(ด้วย http)
ปรับปรุง
Facebook เปลี่ยนสิ่งเล็ก ๆ น้อย ๆ ในตอนนี้เพียงไปที่การตั้งค่าแอพและในเว็บไซต์ URL เพียงแค่เพิ่มhttp: //localhost
และปล่อยให้โดเมนแอปว่างเปล่า
นี่คือการกำหนดค่าของฉันและใช้งานได้ดีสำหรับ PHP API:
โดเมนแอป
http://localhost
URL ไซต์
http://localhost:8082/
หมายเหตุ: ตั้งแต่ปี 2012 Facebook อนุญาตให้ลงทะเบียน "localhost" เป็น Url ที่ส่งคืน คุณยังอาจต้องใช้วิธีแก้ปัญหาที่คล้ายกันสำหรับผู้ให้บริการรายอื่น (เช่น Microsoft one)
หากคุณต้องการชื่อโดเมนจริงที่ลงทะเบียนกับ Facebook (เช่น my.really.own.domain.com) คุณสามารถเปลี่ยนเส้นทางคำขอไปยังโดเมนนี้ในเครื่องของคุณ วิธีออกจากกล่องที่ง่ายที่สุดในระบบปฏิบัติการใด ๆ คือการเปลี่ยนไฟล์ "โฮสต์" เพื่อแมปโดเมนเป็น 127.0.0.1 (ดูhttp://technet.microsoft.com/en-us/library/bb727005.aspx#EDAAและhttps: / /serverfault.com/questions/118290/cname-record-alias-in-windows-hosts-file )
ผมมักจะใช้ไวโอลินที่จะทำเพื่อฉัน (บน Windows กับ IIS ท้องถิ่น) - ดูตัวอย่างในhttp://www.fiddler2.com/Fiddler/Dev/ScriptSamples.asp
if (oSession.HostnameIs("my.really.own.domain.com")) {
oSession.host="localhost:80";
}
วิธีโฮสต์ไฟล์ของวิธีการไม่ทำงานกับ Visual Studio Development Server เนื่องจากต้องการ Urls ขาเข้าเป็น localhost / 127.0.0.1 หากคุณต้องการทำงานกับมัน (หรืออาจเป็นกับ IIS express) เพื่อแทนที่โฮสต์ - ใช้ Fiddler กับ IIS7 Express
Facebook ไม่อนุญาตให้ใช้ URL การเรียกกลับ 'localhost' สำหรับแอปพลิเคชัน Facebook ของ FBML อีกต่อไป
ด้วยศูนย์พัฒนาใหม่ตอนนี้มันง่ายขึ้น:
1) เว้นโดเมนแอปไว้ว่าง ๆ
2) คลิกเพิ่มแพลตฟอร์ม
3) URL ของไซต์ควรเท่ากับเส้นทางแบบเต็มของโฮสต์ในพื้นที่ของคุณ
4) บันทึกการเปลี่ยนแปลง
ในการตั้งค่าพื้นฐานของแอพ ( https://developers.facebook.com/apps ) ภายใต้การตั้งค่า -> พื้นฐาน -> เลือกวิธีที่แอพของคุณทำงานร่วมกับ Facebook ...
ใช้ "ไซต์ URL:" และ "URL ไซต์มือถือ:" เพื่อระงับ URL การผลิตและการพัฒนาของคุณตามลำดับ ทั้งสองไซต์จะได้รับอนุญาตให้ตรวจสอบสิทธิ์ ฉันแค่ใช้ Facebook เพื่อการรับรองความถูกต้องดังนั้นฉันไม่ต้องการคุณสมบัติการเปลี่ยนเส้นทางไซต์มือถือใด ๆ ฉันมักจะเปลี่ยน "URL ของไซต์มือถือ:" เป็น "localhost: 12345" ไซต์ของฉันในขณะที่ฉันกำลังตรวจสอบความถูกต้องแล้วตั้งค่ากลับเป็นปกติเมื่อฉันทำเสร็จแล้ว
มี! โซลูชันของฉันทำงานเมื่อคุณสร้างแอป แต่คุณต้องการใช้การรับรองความถูกต้องของ Facebook ในเว็บไซต์ของคุณ โซลูชันด้านล่างนี้ไม่จำเป็นเมื่อคุณต้องการสร้างแอพที่รวมเข้ากับหน้า FB
สิ่งนี้คือคุณไม่สามารถใส่ "localhost" เป็นโดเมนในหน้าการตั้งค่า Facebook ของแอพของคุณ เหตุผลด้านความปลอดภัย?
คุณต้องไปที่ไฟล์โฮสต์ของคุณใน OSX / Linux etc / hosts และเพิ่มบรรทัดต่อไปนี้: 127.0.0.1 dev.yourdomain.com
โดเมนที่คุณใส่สิ่งที่คุณต้องการ หนึ่งความผิดพลาดคือการเพิ่มบรรทัดนี้: localhost dev.yourdomain.com (อย่างน้อยในเสือดาวหิมะ osx ในการทำงานไม่ได้)
จากนั้นคุณต้องล้างแคช dns ของคุณ บน OSX: พิมพ์dscacheutil -flushcacheในเทอร์มินัล สุดท้ายกลับไปที่เว็บไซต์ผู้พัฒนา Facebook ออนไลน์และในหน้าการกำหนดค่าของแอพคุณสามารถเพิ่มโดเมน "dev.yourdomain.com"
หากคุณใช้โปรแกรมเช่น Mamp, Easyphp หรืออะไรก็ตามตรวจสอบให้แน่ใจว่าพอร์ตสำหรับ Apache คือ 80
โซลูชันนี้ควรใช้งานได้กับ Windows เพราะมีไฟล์โฮสต์อยู่ด้วย อย่างไรก็ตามเท่าที่ฉันจำได้ว่า Windows 7 ไม่ได้ใช้ไฟล์นี้อีกต่อไป แต่เคล็ดลับนี้ควรใช้ถ้าคุณหาวิธีบังคับให้ windows ใช้ไฟล์โฮสต์
คุณต้องเลือกผลิตภัณฑ์ Facebook 'เข้าสู่ระบบ Facebook' และเปิดใช้งานการเข้าสู่ระบบลูกค้า OAuth, 'การเข้าสู่ระบบเว็บ OAuth' และ 'การเข้าสู่ระบบเบราว์เซอร์ OAuth ฝังตัว' แล้วแม้ว่าคุณจะให้ localhost url มันจะทำงาน
ใช้งานได้ในเดือนมิถุนายน 2561 แม้จะเป็นไปตามข้อกำหนดของ HTTPS ดูเหมือนว่าแอปทดสอบไม่จำเป็นต้องมี https:
สร้างแอปทดสอบ: https://developers.facebook.com/docs/apps/test-apps/
จากนั้นในแอปทดสอบให้ทำตามขั้นตอนง่าย ๆ ในวิดีโอนี้: https://www.youtube.com/watch?v=7DuRvf7Jtkg
ฉันคิดว่าคุณควรจะสามารถในการพัฒนาโปรแกรมโดยใช้เว็บเซิร์ฟเวอร์การพัฒนาของสตูดิโอภาพ: เริ่มโปรแกรม Facebook ใหม่เมื่อ: http://www.facebook.com/developers/ จากนั้นตั้งค่าการตั้งค่าสำหรับ URL เว็บไซต์และ URL ผืนผ้าใบเป็นอินสแตนซ์ที่ใช้งานอยู่ในเว็บไซต์ของคุณตัวอย่างเช่น: http: // localhost: 1062 /
ต่อไปนี้เป็นลิงค์เชื่อมโยงบางส่วนที่จะช่วยคุณในการเริ่มต้นใช้งาน Facebook:
หวังว่านี่จะช่วยได้
ลองนี้ ---
https://www.facebook.com/help/community/question/?id=589302607826562
1 - คลิกแอพจากนั้นเลือกแอพของคุณ
2 - คลิกปุ่มการตั้งค่าทางด้านซ้ายของหน้าจอ
3 - ในการตั้งค่าพื้นฐานคลิกปุ่มเพิ่มแพลตฟอร์มด้านล่างการตั้งค่า
4 - เลือกเว็บไซต์ในกล่องโต้ตอบแพลตฟอร์ม
5 - ป้อน URL ของคุณ (localhost ทำงานที่นี่)
6 - ในการป้อนข้อความของ App Domains ให้เพิ่มโดเมนของคุณที่ตรงกับที่อยู่ใน URL
7 - บันทึกการตั้งค่าของคุณ
สมมติว่าคุณลงทะเบียนแอปของคุณเป็น:
app.domain.com
คุณเพียงแค่ต้องแก้ไขไฟล์ / etc / hosts โดยการเพิ่ม
127.0.0.1 dev01.app.domain.com
จากนั้นแก้ไขการกำหนดค่า Apache ของคุณ
ServerName dev01.app.domain.com
และรีสตาร์ท apache
คุณจะต้องใส่ URL ของคุณในตัวแปรเพื่อใช้เป็นพารามิเตอร์ XML ในการโทรบางครั้ง:
<fb:login-button registration-url="http://<?=$URL?>/register" />
อย่าได้ cred พอที่จะแสดงความคิดเห็นในด้านบนลงมติคำตอบ แต่อย่างน้อยในสภาพแวดล้อมทางรถไฟของฉัน (วิ่ง 4) ราง s ที่ ไม่http://localhost:3000
http://www.localhost:3000
เมื่อฉันเปลี่ยนเป็นhttp://localhost:3000
มันใช้งานได้ดี ไม่จำเป็นต้องแก้ไขไฟล์โฮสต์ใด ๆ
app domain : localhost
site URL : http://localhost:4440/
ทำงานกับฉันด้วย UI ใหม่
โซลูชันของฉันทำงานได้ดีใน localhost ..... สำหรับการใช้ URL ของไซต์http://localhost/
และสำหรับโดเมนของแอปใช้localhost/folder_name
ทุกอย่างก็เหมือนกัน ....... มันใช้งานได้ดี
แอปพลิเคชันจะทำงานได้ดีใน localhost: 3000 คุณเพียงแค่ต้องระบุที่อยู่ https ที่แอปพลิเคชันจะทำงานเมื่ออยู่ในโหมดการใช้งานจริง
ตัวเลือกที่ 2 ให้ URL หรือเว็บไซต์ heroku ของคุณซึ่งช่วยให้คุณมีตัวอย่างแอปพลิเคชันในโหมดการผลิต
อัปเดตล่าสุด: คุณไม่จำเป็นต้องระบุ URL ใด ๆ หากคุณกำลังทำการทดสอบอยู่ คุณสามารถเว้นช่องว่างไว้ได้ ตรวจสอบให้แน่ใจว่าแอปของคุณอยู่ในโหมดการพัฒนา ถ้าไม่ปิดสถานะจากการถ่ายทอดสด
ไม่จำเป็นต้องระบุ URL ไซต์โดเมนแอพหรือการเปลี่ยนเส้นทางที่ถูกต้อง oauth uri