Domanda

Sto cercando di ottenere il permesso per 'utenti offline_access' in un'applicazione iFrame Facebook codificato con l'API di Facebook Java. Capisco che ho bisogno di ottenere un 'chiave di sessione a tempo indeterminato' dopo gli utenti approva la mia domanda. Attualmente, posso fare quello che voglio, ma in un modo molto imbarazzante che non è probabilmente corretto. Ci deve essere un modo migliore per fare questo. Tutti i pensieri / idee sarebbe apprezzato !!

Quello che ho fatto

In un servlet di mia app, controllo per vedere se l'utente ha attualmente il permesso 'offline_access'. Se lo fanno, io ottenere l'URL da Permission.authorizeUrl(Permission.OFFLINE_ACCESS). Ho poi chiamo response.redirect per accedere alla pagina delle autorizzazioni. Due problemi che sto avendo sono:

  1. La pagina delle autorizzazioni reindirizzata viene visualizzato all'interno del iFrame. Di qui, la barra dei menu principale di Facebook libro ecc vengono visualizzati due volte. vale a dire che sembra un app è incorporato in un'altra applicazione.
  2. L'utente verra 'bloccato' in questa pagina il permesso una volta reindirizzata lì. Non sarò in grado di ottenere la 'chiave di sessione indefinito' (chiamando client.getCacheSessionKey) a meno che l'utente torna a una pagina nella mia app manualmente.

possibili Work-around ??

  • C'è un modo per aprire / reindirizzamento alla pagina di permessi in una nuova finestra? In questo modo forse posso avere un filo nel mio servlet di mantenere il controllo se l'autorizzazione è impostato dopo il reindirizzamento. E poi posso ottenere la 'chiave di sessione a tempo indeterminato', una volta ce l'ho e riporlo da qualche parte?
  • C'è un modo per impostare un URL per Facebook per andare a dopo l'autorizzazione è impostato? (Molto simile le impostazioni URL pre-auth e post-auth?) O in qualche modo prendere il controllo dopo che la pagina autorizzazione viene colpito?
  • Tutti gli altri modi di impostare la mia app forse ?? Essendo un novizio, potrei aver totalmente ottenuto l'idea sbagliata ...
È stato utile?

Soluzione

Hai provato a utilizzare il fb:promot-permission tag < a href = "http://wiki.developers.facebook.com/index.php/XFBML" rel = "nofollow noreferrer"> XFBML ? Questo sembrerebbe il modo più semplice di ottenere il permesso concesso, e XFBML è abbastanza facile da configurare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top