Facebook-applikasjoner er rett og slett nettsteder som lastes i iframes på Facebook. Facebook gir dokumenter som er lagt innenfor disse iframes med ulike data, som for eksempel informasjon om brukeren tilgang til det eller Facebook-side det er tilgjengelig fra. Denne informasjonen er innkapslet i signerte forespørsler.
Fandjango er en modul som analyserer signert forespørsler, abstraherer den informasjonen som finnes i og fyller forespørselen objekt tilsvarende.
Komme i gang
Du kan finne en prøve søknad og en gjennomgang for å gjenskape det på Fandjango Eksempel depotet.
Bruk:
Brukere
Fandjango sparer kunder som har godkjent søknaden i sin User modell. Du kan få tilgang til den tilsvarende modellen forekomst i request.facebook.user.
Forekomster av User modellen har følgende egenskaper:
& Nbsp; facebook_id - Et heltall som beskriver brukerens Facebook-ID.
& Nbsp; facebook_username - En streng som beskriver brukerens Facebook-brukernavn.
FIRST_NAME - En streng som beskriver brukerens fornavn.
& Nbsp; last_name - En streng som beskriver brukerens etternavn.
& Nbsp; PROFILE_URL - En streng som beskriver URL til brukerens Facebook-profil.
& Nbsp; kjønn - En streng som beskriver brukerens kjønn.
& Nbsp; hjemby - En streng som beskriver brukerens hjemby (krever 'user_hometown' utvidet tillatelse).
& Nbsp; plassering - En streng som beskriver brukerens gjeldende plassering (krever 'user_location' utvidet tillatelse).
& Nbsp; bio - En streng som beskriver brukerens "om meg" -feltet på Facebook (krever 'user_about_me' utvidet tillatelse).
& Nbsp; relationship_status - En streng som beskriver brukerens sivilstatus (krever 'user_relationships' utvidet tillatelse).
& Nbsp; political_views - En streng som beskriver brukerens politiske synspunkter (krever 'user_religion_politics' utvidet tillatelse).
& Nbsp; e-post - En streng som beskriver brukerens e-postadresse (krever 'e' utvidet tillatelse).
& Nbsp; nettside - En streng som beskriver brukerens nettsted (krever 'user_website' utvidet tillatelse).
& Nbsp; locale - En streng som beskriver brukerens locale.
& Nbsp; verifisert - En boolsk beskriver hvorvidt brukeren er verifisert av Facebook.
& Nbsp; bursdag - En datetime objekt som beskriver brukerens bursdag (krever 'user_birthday' utvidet tillatelse)
& Nbsp; oauth_token - En OAuth Token objekt.
& Nbsp; created_at - En datetime objekt som beskriver når brukeren ble registrert.
& Nbsp; last_seen_at - En datetime objekt som beskriver når brukeren sist ble sett.
Du kan synkronisere disse egenskapene med Facebook når som helst med modellens synkroniseringsmetode.
oauth_token er en forekomst av OAuthToken modellen, som har følgende egenskaper:
- Token - En streng som beskriver OAuth token selv.
- Issued_at - En datetime objekt som beskriver når token ble utstedt.
- Expires_at - En datetime objekt som beskriver når token utløper (eller Ingen hvis den ikke gjør det)
Hvis kunden ikke har godkjent søknaden din, er request.facebook.user Ingen.
Autorisere brukere
Du kan kreve en klient å autorisere søknaden din før du åpner en visning med facebook_authorization_required dekoratør.
fra fandjango.decorators importere facebook_authorization_required
facebook_authorization_required ()
def foo (forespørsel, * args, ** kwargs):
& Nbsp; pass
Dette vil omdirigere forespørselen til Facebook autorisasjon dialog, som igjen vil omdirigere tilbake til den opprinnelige URI. Dekoratør aksepterer et valgfritt argument redirect_uri, slik at du kan tilpasse plasseringen brukeren omdirigert til etter godkjenner søknaden:
fra innstillinger import FACEBOOK_APPLICATION_TAB_URL
fra fandjango.decorators importere facebook_authorization_required
facebook_authorization_required (redirect_uri = FACEBOOK_APPLICATION_TAB_URL)
def foo (forespørsel, * args, ** kwargs):
& Nbsp; pass
Hvis du foretrekker det, kan du viderekoble forespørselen i en kontroll flyt av din egen ved hjelp av redirect_to_facebook_authorization funksjon:
fra fandjango.utils import redirect_to_facebook_authorization
def foo (forespørsel, * args, ** kwargs):
& Nbsp; hvis ikke request.facebook.user:
& Nbsp; retur redirect_to_facebook_authorization (redirect_uri = 'http: //www.example.org/')
Sider
Dersom søknaden er tilgjengelig fra en fane på en Facebook-side, vil du finne en forekomst av FacebookPage i request.facebook.page.
Forekomster av FacebookPage modellen har følgende egenskaper:
- Id - Et heltall som beskriver id på siden.
- Is_admin - En boolsk beskriver hvorvidt den aktuelle brukeren er en administrator på siden.
- Is_liked - En boolsk beskriver hvorvidt den aktuelle brukeren liker siden.
& Nbsp; url - En streng som beskriver nettadressen til siden.
Dersom søknaden ikke er tilgjengelig fra en fane på en Facebook-side, er request.facebook.page Ingen
Hva er nytt i denne utgaven:.
- Fandjango vil nå sette request.facebook til False for ugyldige signert forespørsler snarere enn et unntak.
- Fandjango nå bruker de nyeste versjonene av forespørsler og facepy.
Hva er nytt i versjon 4.0.6:
- Fandjango vil nå bare forlenge OAuth symboler som ikke har allerede blitt utvidet.
Hva er nytt i versjon 4.0.5:
- Fandjango vil nå ignorere interne Facebook-feil ved forsøk på å forlenge en tilgangskode.
Hva er nytt i versjon 4.0.4:
- Fikset en bug som forårsaket 'redirect_uri' argument til 'facebook_authorization_required' å bli ignorert.
Hva er nytt i versjon 4.0.3:.
- Du kan nå sette view-spesifikke tillatelser
- lagt til Brukernavn # tillatelser.
- Lagd FACEBOOK_APPLICATION_CANVAS_URL innstillingen.
- OAuth symboler blir nå utvidet (se nedgraderingen av frakoblet tilgang Tillatelse)
- Fikset et problem som hindret brukere fra å godkjenne søknader under Internet Explorer.
Hva er nytt i versjon 4.0.2:
- Fikset en bug som forårsaket en AttributeError ved å utstede en HTTP GET-forespørsel til deauthorization visning.
- Fikset en bug som forårsaket søknad deauthorization å mislykkes.
- Fikset en bug som forhindret den norske lokalisering blir brukt.
Krav :
- Python
Kommentarer ikke funnet