2011-10-11 6 views
9

Sto usando il Facebook android sdk con la mia app per Android. Se tutto andava bene con la mia app mentre sviluppavo la mia versione di sviluppo. Quando finalmente, quando di pubblicare la mia app al pubblico, l'authenication facebook sputa un errore di brutto quando le persone cercano di autenticare la mia app:Facebook Android sdk che getta il reindirizzamento mancante uri su Authetication

API Error code: 100 
API Error description: Invalid parameter 
Error Message: Requires valid redirect URI 

Sembra come facebook pensa che io sto facendo un redirect del browser a loro e manca un reindirizzare uri per tornare alla mia app, ma io sto usando l'SDK di Android in cui non si invia un URI reindirizzamento, si dispone di un ascoltatore di callback:

facebook.authorize(this, new String[] { "email", "publish_stream" }, new FBLoginDialogListener()); 

Come ho detto questo tutto ha funzionato bene durante lo sviluppo e ha mostrato solo dopo aver rilasciato la mia versione di prod, quindi ho controllato sia la configurazione dell'app dev e l'installazione della app prod su fb, e sono entrambi identici.

Qualcun altro vede questo problema?

AGGIORNAMENTO: Sembra che venga visualizzato questo errore solo quando un utente accetta di consentire l'accesso alla mia app, ma non accetta le mie autorizzazioni. hmmmmm. Forse non sto gestendo alcuna situazione, ma l'errore non ha ancora senso per me.

+0

Hai inserito correttamente l'hash di Android? È un messaggio di errore scarso, sono d'accordo, ma sembra che potrebbe essere correlato alle tue impostazioni. Se mi invii il tuo ID app, posso indagare. –

+0

l'hash è corretto, perché getta prima di questo messaggio se l'hash è errato. Posso superare questo errore quando accetto il permesso, ma se non permetto (cosa che ho fatto per caso), allora mi blocco di permettere in futuro. Sono stato in grado di aggirare questo rimuovendo l'app dalle mie impostazioni di Facebook acct, ma mi dispiacerebbe avere un utente bloccato in questo stato – MattoTodd

+0

Sto avendo lo stesso problema con iPhone SDK. Questo problema è iniziato solo 3 giorni prima. Non so come risolverlo. –

risposta

8

Ho risolto questo problema disattivando la finestra di dialogo Auth rafforzate in Impostazioni avanzate della tua app su https://developers.facebook.com/apps

migliori saluti

+0

Grazie .. Questo ha funzionato per me ... –

1

Non ho lavorato così tanto su Facebook, ma io cosa fraintendiamo su Redirect URL. In classe Facebook c'è un parametro REDIRECT_URI per reindirizzare utente se il successo non si reindirizzerà al browser, ma si chiama Facebook fornitore sdk

Vedi questa linea

public static final String REDIRECT_URI = "fbconnect://success"; 

Verificare la presenza di questa linea nell'applicazione . Penso che ci sia qualche fornitore di contenuti nell'API di facebook come fbconnect così che chiamerà internamente quel provider potrebbe essere che ho torto.

Grazie.

+1

e non voglio reindirizzarmi a un browser. come ho detto, questo stava funzionando bene con la versione dev di me, non appena ho firmato la mia app e l'ho puntato sulla mia app prod, esso esplode. – MattoTodd

0

Ho avuto lo stesso problema. La mia app funziona perfettamente ieri e quando ho provato a eseguirlo oggi, ha mostrato esattamente lo stesso messaggio. Quello che ho provato è reinstallare l'app e riavviare il mio telefono, ma nessuno dei due ha funzionato. Quindi disinstallo Facebook per Android (non l'app che ho sviluppato io stesso) e ha funzionato perfettamente. Non ho idea del motivo. Forse provare a disinstallare Facebook per Android sul tuo telefono e vedere se funziona?

1

Sto riscontrando anche questo problema: quando provo a chiedere un nuovo permesso esteso, facebook visualizza lo stesso messaggio di errore per me. Penso di avere una soluzione: provare a chiedere in una richiesta di nuove autorizzazioni da "permessi utente e amico" (cioè "user_status") e con nuova autorizzazione dalla sezione "autorizzazioni estese" (cioè "read_stream"). Autorizzazioni elencate in http://developers.facebook.com/docs/reference/api/permissions/ Spero che possa essere d'aiuto anche per te.

0

esattamente lo stesso problema qui ... inseguito per ore ...

Grazie ai suggerimenti di cui sopra ho fatto un passo in avanti.

Ho scritto un'app che aggiorna lo stato degli utenti. Con il nuovo layout di Facebook è uguale a postare sul muro degli utenti.

Sembra che sia necessario disporre di entrambe le autorizzazioni per eseguire questa operazione: {"user_status", "publish_stream"}. Immagino che user_status mi dia accesso all'oggetto status e publish_stream (che è un permesso "esteso") mi dà accesso in scrittura.

Alcune cose di cui occuparsi quando si sperimentano le autorizzazioni che ho trovato sono le seguenti. Se modifichi le autorizzazioni per la tua applicazione, ti suggerisco di fare quanto segue: - Vai al tuo account Facebook con un browser web sul tuo computer. Vai alla freccia accanto a Home in alto, seleziona le impostazioni dell'account quindi seleziona App a sinistra. Elimina la tua app da qui. -Del tuo dispositivo Android (o emulatore) Vai su Impostazioni -> Applicazioni -> Gestione. Quindi disinstallare l'applicazione. Dopodiché, dallo stesso menu Forza Esci dall'applicazione Facebook.

Dopo aver completato questi passaggi, è necessario disporre di un foglio pulito in merito alla ridistribuzione dell'applicazione con autorizzazioni diverse. Questo è il fatto che l'app di Facebook sta memorizzando nella cache qualcosa, e le autorizzazioni sono già registrate nel tuo account Facebook che sta causando questo problema. Potrebbe tuttavia esserci una soluzione più ordinabile che è possibile implementare nel codice, in modo tale che se si cambiano le autorizzazioni dell'applicazione tra le versioni che viene prelevata correttamente.

mia app sta ora facendo gli aggiornamenti di stato =)

0

ho risolto il problema controllando il browser Login OAuth integrato "e inserendo l'URL che l'app adobe air utilizza per l'autenticazione FB incorporata nel browser

Facebook Advanced Settings

Problemi correlati