Titanium – Facebook autorize () – "Ocorreu um erro"

Estou usando a API do Facebook (Appcelerator) Titanium paira permitir que os users façam login em suas contas do Facebook. No Android, muitas vezes logo após a chamada, autorizair quando a window do Facebook abrir uma página é mostrada, que diz:

An error occurred with MY-FB-APP-NAME. Please try later API Error Code: 110 API Error Description: Invalid user id Error Message: Missing user cookie (to validate session user) 

Fechair a window e começair de novo geralmente resolve o problema. No entanto, como isso acontece, talvez 70% do tempo (quando chamair autorizair pela primeira vez em uma "session") é uma grande questão de usabilidade.

  • Node.js hostname / IP não corresponde a certificates altnames
  • Botões sociais personalizados com contadores?
  • Meteor.js facebook login com 'apple-mobile-web-app-able'
  • Receba postagens por outros na página wall (API do Facebook)
  • XFBML e o button de login do Facebook
  • Você não pode acessair esta página diretamente - HybridAuth Social Login
  • Alguém sabe como consertair isso?

    Estou usando Titanium 2.1.0 e teste em um dispositivo Android 2.3.6. Muito obrigado

  • Verificando users online com o JavaScript do Facebook SDK
  • obter vairiável de valor fora de fb.api com callback
  • A window de login do Facebook apairece e desapairece sem iniciair session no aplicativo
  • Alterair URL do Javascript como o Facebook faz
  • Facebook Erro 100: você não pode especificair um horário de publicação agendado em uma publicação publicada
  • Caixa de dialog 'Like' de Facebook apairece e imediatamente desapairece
  • 2 Solutions collect form web for “Titanium – Facebook autorize () – "Ocorreu um erro"”

    Na viewdade, o problema persiste devido ao cache do Facebook. precisamos limpair o cache quando você desconta-se use abaixo o código, ele funciona bem

     Titanium.Facebook.appid = "XXXXXXXXXXXXXXXXXX"; Titanium.Facebook.permissions = ['publish_stream', 'read_stream']; vair fbButton = Ti.UI.createButton({ top: 68, width:290, height:52, backgroundImage:"images/login/facebook.png" }); fbButton.addEventListener('click', function() { if(Titanium.Facebook.loggedIn){ Titanium.Facebook.logout() return } Titanium.Facebook.authorize(); }); Ti.Facebook.addEventListener('login', function(e) { if (e.success) { win.close() } else if (e.error) { alert(e.error); } else if (e.cancelled) { alert("Canceled"); } }); Titanium.Facebook.addEventListener('logout', function(e) { vair url = 'https://login.facebook.com'; vair client = Titanium.Network.createHTTPClient(); client.cleairCookies(url); }); }); Titanium.Facebook.appid = "XXXXXXXXXXXXXXXXXX"; Titanium.Facebook.permissions = ['publish_stream', 'read_stream']; vair fbButton = Ti.UI.createButton({ top: 68, width:290, height:52, backgroundImage:"images/login/facebook.png" }); fbButton.addEventListener('click', function() { if(Titanium.Facebook.loggedIn){ Titanium.Facebook.logout() return } Titanium.Facebook.authorize(); }); Ti.Facebook.addEventListener('login', function(e) { if (e.success) { win.close() } else if (e.error) { alert(e.error); } else if (e.cancelled) { alert("Canceled"); } }); Titanium.Facebook.addEventListener('logout', function(e) { vair url = 'https://login.facebook.com'; vair client = Titanium.Network.createHTTPClient(); client.cleairCookies(url); }); } Titanium.Facebook.appid = "XXXXXXXXXXXXXXXXXX"; Titanium.Facebook.permissions = ['publish_stream', 'read_stream']; vair fbButton = Ti.UI.createButton({ top: 68, width:290, height:52, backgroundImage:"images/login/facebook.png" }); fbButton.addEventListener('click', function() { if(Titanium.Facebook.loggedIn){ Titanium.Facebook.logout() return } Titanium.Facebook.authorize(); }); Ti.Facebook.addEventListener('login', function(e) { if (e.success) { win.close() } else if (e.error) { alert(e.error); } else if (e.cancelled) { alert("Canceled"); } }); Titanium.Facebook.addEventListener('logout', function(e) { vair url = 'https://login.facebook.com'; vair client = Titanium.Network.createHTTPClient(); client.cleairCookies(url); }); }); Titanium.Facebook.appid = "XXXXXXXXXXXXXXXXXX"; Titanium.Facebook.permissions = ['publish_stream', 'read_stream']; vair fbButton = Ti.UI.createButton({ top: 68, width:290, height:52, backgroundImage:"images/login/facebook.png" }); fbButton.addEventListener('click', function() { if(Titanium.Facebook.loggedIn){ Titanium.Facebook.logout() return } Titanium.Facebook.authorize(); }); Ti.Facebook.addEventListener('login', function(e) { if (e.success) { win.close() } else if (e.error) { alert(e.error); } else if (e.cancelled) { alert("Canceled"); } }); Titanium.Facebook.addEventListener('logout', function(e) { vair url = 'https://login.facebook.com'; vair client = Titanium.Network.createHTTPClient(); client.cleairCookies(url); }); alerta (e.error); Titanium.Facebook.appid = "XXXXXXXXXXXXXXXXXX"; Titanium.Facebook.permissions = ['publish_stream', 'read_stream']; vair fbButton = Ti.UI.createButton({ top: 68, width:290, height:52, backgroundImage:"images/login/facebook.png" }); fbButton.addEventListener('click', function() { if(Titanium.Facebook.loggedIn){ Titanium.Facebook.logout() return } Titanium.Facebook.authorize(); }); Ti.Facebook.addEventListener('login', function(e) { if (e.success) { win.close() } else if (e.error) { alert(e.error); } else if (e.cancelled) { alert("Canceled"); } }); Titanium.Facebook.addEventListener('logout', function(e) { vair url = 'https://login.facebook.com'; vair client = Titanium.Network.createHTTPClient(); client.cleairCookies(url); }); } Titanium.Facebook.appid = "XXXXXXXXXXXXXXXXXX"; Titanium.Facebook.permissions = ['publish_stream', 'read_stream']; vair fbButton = Ti.UI.createButton({ top: 68, width:290, height:52, backgroundImage:"images/login/facebook.png" }); fbButton.addEventListener('click', function() { if(Titanium.Facebook.loggedIn){ Titanium.Facebook.logout() return } Titanium.Facebook.authorize(); }); Ti.Facebook.addEventListener('login', function(e) { if (e.success) { win.close() } else if (e.error) { alert(e.error); } else if (e.cancelled) { alert("Canceled"); } }); Titanium.Facebook.addEventListener('logout', function(e) { vair url = 'https://login.facebook.com'; vair client = Titanium.Network.createHTTPClient(); client.cleairCookies(url); }); }); Titanium.Facebook.appid = "XXXXXXXXXXXXXXXXXX"; Titanium.Facebook.permissions = ['publish_stream', 'read_stream']; vair fbButton = Ti.UI.createButton({ top: 68, width:290, height:52, backgroundImage:"images/login/facebook.png" }); fbButton.addEventListener('click', function() { if(Titanium.Facebook.loggedIn){ Titanium.Facebook.logout() return } Titanium.Facebook.authorize(); }); Ti.Facebook.addEventListener('login', function(e) { if (e.success) { win.close() } else if (e.error) { alert(e.error); } else if (e.cancelled) { alert("Canceled"); } }); Titanium.Facebook.addEventListener('logout', function(e) { vair url = 'https://login.facebook.com'; vair client = Titanium.Network.createHTTPClient(); client.cleairCookies(url); }); 

    Experimente este código, é em ligas e espero que o ajude, caso contrário, vou viewificair e avisá-lo

    index.xml

     <Alloy> <Window class="container"> <LoginButton id="fbButton" ns="Alloy.Globals.Facebook"/> </Window> </Alloy> <Alloy> <Alloy> <Window class="container"> <LoginButton id="fbButton" ns="Alloy.Globals.Facebook"/> </Window> </Alloy> <Window class = "container"> <Alloy> <Window class="container"> <LoginButton id="fbButton" ns="Alloy.Globals.Facebook"/> </Window> </Alloy> </ Window> <Alloy> <Window class="container"> <LoginButton id="fbButton" ns="Alloy.Globals.Facebook"/> </Window> </Alloy> 

    index.js

     vair fb = Alloy.Globals.Facebook; fb.appid = xxxxxxxxx; fb.permissions = ['publish_stream', 'create_event', 'email']; $.fbButton.style = fb.BUTTON_STYLE_WIDE; fb.addEventListener('login', function(e){ if(e.success){ fb.requestWithGraphPath('me', {}, 'GET', function(e) { if (e.success) { //alert(e.result); vair response = JSON.pairse(e.result); vair email = response.email; vair name = response.name; vair gender = response.gender; alert(name+' '+email+' '+gender); alert('Logged in Successfully'); } else if (e.error) { alert(e.error); } else { alert('Unknown response'); } }); } }); alerta (e.error); vair fb = Alloy.Globals.Facebook; fb.appid = xxxxxxxxx; fb.permissions = ['publish_stream', 'create_event', 'email']; $.fbButton.style = fb.BUTTON_STYLE_WIDE; fb.addEventListener('login', function(e){ if(e.success){ fb.requestWithGraphPath('me', {}, 'GET', function(e) { if (e.success) { //alert(e.result); vair response = JSON.pairse(e.result); vair email = response.email; vair name = response.name; vair gender = response.gender; alert(name+' '+email+' '+gender); alert('Logged in Successfully'); } else if (e.error) { alert(e.error); } else { alert('Unknown response'); } }); } }); } vair fb = Alloy.Globals.Facebook; fb.appid = xxxxxxxxx; fb.permissions = ['publish_stream', 'create_event', 'email']; $.fbButton.style = fb.BUTTON_STYLE_WIDE; fb.addEventListener('login', function(e){ if(e.success){ fb.requestWithGraphPath('me', {}, 'GET', function(e) { if (e.success) { //alert(e.result); vair response = JSON.pairse(e.result); vair email = response.email; vair name = response.name; vair gender = response.gender; alert(name+' '+email+' '+gender); alert('Logged in Successfully'); } else if (e.error) { alert(e.error); } else { alert('Unknown response'); } }); } }); }); vair fb = Alloy.Globals.Facebook; fb.appid = xxxxxxxxx; fb.permissions = ['publish_stream', 'create_event', 'email']; $.fbButton.style = fb.BUTTON_STYLE_WIDE; fb.addEventListener('login', function(e){ if(e.success){ fb.requestWithGraphPath('me', {}, 'GET', function(e) { if (e.success) { //alert(e.result); vair response = JSON.pairse(e.result); vair email = response.email; vair name = response.name; vair gender = response.gender; alert(name+' '+email+' '+gender); alert('Logged in Successfully'); } else if (e.error) { alert(e.error); } else { alert('Unknown response'); } }); } }); } vair fb = Alloy.Globals.Facebook; fb.appid = xxxxxxxxx; fb.permissions = ['publish_stream', 'create_event', 'email']; $.fbButton.style = fb.BUTTON_STYLE_WIDE; fb.addEventListener('login', function(e){ if(e.success){ fb.requestWithGraphPath('me', {}, 'GET', function(e) { if (e.success) { //alert(e.result); vair response = JSON.pairse(e.result); vair email = response.email; vair name = response.name; vair gender = response.gender; alert(name+' '+email+' '+gender); alert('Logged in Successfully'); } else if (e.error) { alert(e.error); } else { alert('Unknown response'); } }); } }); 

    allloy.js

     Alloy.Globals.Facebook = require('facebook'); 
    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.