aplikasi Facebook hanya situs yang memuat dalam iframe di Facebook. Facebook memberikan dokumen dimuat dalam iframe tersebut dengan berbagai data, seperti informasi tentang pengguna mengakses atau Facebook Page itu diakses dari. Data ini dirumuskan dalam permintaan ditandatangani.
Fandjango adalah modul yang mengurai permintaan ditandatangani, abstrak informasi yang terkandung dalam dan Mempopulai objek permintaan sesuai.
Persiapan
Anda mungkin menemukan aplikasi sampel dan walkthrough untuk mereplikasi di repositori Fandjango Contoh.
Penggunaan:
Pengguna
Fandjango menyimpan klien yang telah diotorisasi aplikasi Anda dalam model User-nya. Anda dapat mengakses turunan model yang sesuai di request.facebook.user.
Contoh model Pengguna memiliki sifat sebagai berikut:
& Nbsp; facebook_id - Sebuah bilangan bulat menggambarkan ID Facebook pengguna.
& Nbsp; facebook_username - Sebuah string menggambarkan Facebook username pengguna.
& Nbsp; first_name - Sebuah string yang menjelaskan nama depan pengguna.
& Nbsp; last_name - Sebuah string yang menjelaskan nama belakang pengguna.
& Nbsp; PROFILE_URL - Sebuah string yang menjelaskan URL profil Facebook pengguna.
& Nbsp; jender - Sebuah string yang menjelaskan jenis kelamin pengguna.
& Nbsp; kampung - Sebuah string yang menggambarkan kota home user (membutuhkan 'user_hometown' izin diperpanjang).
& Nbsp; lokasi - Sebuah string menggambarkan lokasi pengguna saat ini (memerlukan 'user_location' izin diperpanjang).
& Nbsp; bio - A string yang menjelaskan "tentang saya" lapangan pengguna di Facebook (memerlukan 'user_about_me' diperpanjang izin).
& Nbsp; relationship_status - Sebuah string yang menjelaskan status hubungan pengguna (membutuhkan 'user_relationships' izin diperpanjang).
& Nbsp; political_views - Sebuah string yang menjelaskan pandangan politik pengguna (membutuhkan 'user_religion_politics' izin diperpanjang).
& Nbsp; email - Sebuah string yang menjelaskan alamat email pengguna (membutuhkan 'email' diperpanjang izin).
& Nbsp; situs - Sebuah string yang menjelaskan situs pengguna (membutuhkan 'user_website' diperpanjang izin).
& Nbsp; lokal - Sebuah string yang menjelaskan lokal pengguna.
& Nbsp; diverifikasi - Sebuah boolean menjelaskan apakah pengguna diverifikasi oleh Facebook.
& Nbsp; ulang - Sebuah objek datetime menggambarkan ulang pengguna (membutuhkan 'user_birthday' izin diperpanjang)
& Nbsp; oauth_token - Sebuah objek OAuth Token.
& Nbsp; created_at - Sebuah objek datetime menjelaskan ketika pengguna terdaftar.
& Nbsp; last_seen_at - Sebuah objek datetime menjelaskan ketika pengguna terakhir terlihat.
Anda dapat menyinkronkan properti ini dengan Facebook setiap saat dengan metode sinkronisasi model.
oauth_token adalah turunan dari model OAuthToken, yang memiliki sifat-sifat sebagai berikut:
- Tanda - Sebuah string yang menjelaskan OAuth tanda itu sendiri.
- Issued_at - Sebuah objek datetime menjelaskan ketika token dikeluarkan.
- Expires_at - Sebuah objek datetime menjelaskan ketika token berakhir (atau Tidak jika tidak)
Jika klien tidak resmi aplikasi Anda, request.facebook.user adalah None.
Otorisasi pengguna
Anda mungkin memerlukan klien untuk mengotorisasi aplikasi Anda sebelum mengakses tampilan dengan dekorator facebook_authorization_required.
dari fandjango.decorators impor facebook_authorization_required
facebook_authorization_required ()
def foo (permintaan, args *, ** kwargs):
& Nbsp; lulus
Ini akan mengarahkan permintaan ke dialog otorisasi Facebook, yang pada gilirannya akan mengarahkan kembali ke URI asli. Dekorator menerima argumen redirect_uri opsional, memungkinkan Anda untuk menyesuaikan lokasi pengguna diarahkan ke setelah otorisasi aplikasi:
dari pengaturan impor FACEBOOK_APPLICATION_TAB_URL
dari fandjango.decorators impor facebook_authorization_required
facebook_authorization_required (redirect_uri = FACEBOOK_APPLICATION_TAB_URL)
def foo (permintaan, args *, ** kwargs):
& Nbsp; lulus
Jika Anda suka, Anda dapat mengarahkan permintaan dalam aliran kontrol Anda sendiri dengan menggunakan fungsi redirect_to_facebook_authorization:
dari fandjango.utils impor redirect_to_facebook_authorization
def foo (permintaan, args *, ** kwargs):
& Nbsp; jika tidak request.facebook.user:
& Nbsp; kembali redirect_to_facebook_authorization (redirect_uri = 'http: //www.example.org/')
Halaman
Jika aplikasi diakses dari tab pada Facebook Page, Anda akan menemukan sebuah instance dari FacebookPage di request.facebook.page.
Contoh model FacebookPage memiliki sifat sebagai berikut:
- Id - Sebuah bilangan bulat menggambarkan id halaman.
- Is_admin - Sebuah boolean menjelaskan apakah pengguna saat ini adalah administrator halaman.
- Is_liked - Sebuah boolean menjelaskan apakah pengguna saat menyukai halaman.
& Nbsp; url - Sebuah string yang menjelaskan URL ke halaman.
Jika aplikasi tersebut tidak diakses dari tab pada Facebook Page, request.facebook.page adalah None
Apa yang baru dalam rilis ini:.
- Fandjango sekarang akan menetapkan request.facebook ke False untuk permintaan ditandatangani valid daripada menaikkan pengecualian.
- Fandjango sekarang menggunakan versi terbaru dari permintaan dan facepy.
Apa yang baru dalam versi 4.0.6:
- Fandjango sekarang hanya akan memperpanjang token OAuth yang belum sudah diperpanjang.
Apa yang baru dalam versi 4.0.5:
- Fandjango sekarang akan mengabaikan Kesalahan internal yang Facebook setelah mencoba untuk memperluas akses token.
Apa yang baru dalam versi 4.0.4:
- Fixed bug yang menyebabkan argumen 'redirect_uri' untuk 'facebook_authorization_required' untuk diabaikan.
Apa yang baru dalam versi 4.0.3:.
- Sekarang Anda dapat mengatur tampilan khusus perizinan
- Ditambahkan Pengguna # perizinan.
- Ditambahkan FACEBOOK_APPLICATION_CANVAS_URL pengaturan .
- token OAuth sekarang diperpanjang (lihat Bantahan dari Offline Access Izin)
- Tetap masalah yang mencegah pengguna dari otorisasi aplikasi di bawah Internet Explorer.
Apa yang baru dalam versi 4.0.2:
- Fixed bug yang menyebabkan AttributeError setelah mengeluarkan HTTP GET request ke tampilan deauthorization.
- Fixed bug yang menyebabkan aplikasi deauthorization gagal.
- Fixed bug yang dicegah lokalisasi Norwegia dari yang diterapkan.
Persyaratan :
- Python
Komentar tidak ditemukan