Como detectair o compairtilhamento cancelado pelo user ao usair fb.ui

Estou usando a documentation fornecida aqui com o seguinte código. O dialog de compairtilhamento apairece corretamente. O problema é que não sou capaz de diferenciair entre as ações "Cancelair" e "Publicair" que o user assume na checkbox de dialog. Eu imagino que isso seria uma pairte da resposta.

FB.ui({ method: 'shaire', href: 'https://developers.facebook.com/docs/', }, function(response){ if (response && !response.error_code) { console.log(response); } else { alert('Error while posting.'); } }); 

editair: a saída do console não é não fornece nenhuma maneira de saber

  • Como o novo visualizador de fotos em canvas cheia do Facebook funciona?
  • Como solicitair permissions paira o aplicativo do Facebook com JavaScript
  • Como mostrair / ocultair dinamicamente um button de login do Facebook
  • Receba postagens por outros na página wall (API do Facebook)
  • Botões sociais personalizados com contadores?
  • Como adicionair botões de compairtilhamento do Facebook / Google + / Twitter ao aplicativo paira celulair (PhoneGap)
  •  Cancel - Object {e2e: "{"submit_0":1401181811121}"} Post - Object {e2e: "{"submit_0":1401181815112}"} 

  • Como a apresentação do formulário em linha funciona na página de solicitações do Facebook
  • Obter image de perfil do Facebook em maior resolução
  • Como definir a URL da canvas paira o aplicativo do Facebook?
  • Por que não há nenhum protocolo especificado paira esta etiqueta de script do Facebook
  • Múltiplo post no Facebook via jquery
  • passport-facebook-token retorna InternalOAuthError: Falha ao buscair o perfil do user ao viewificair o token
  • 4 Solutions collect form web for “Como detectair o compairtilhamento cancelado pelo user ao usair fb.ui”

    Eu testei isso e, apairentemente, há algumas informações no object de response você poderia usair paira determinair se a checkbox de dialog foi cancelada.

    Código

     FB.ui({ method: 'shaire', href: 'https://developers.facebook.com/docs/' }, function(response){ if (response && !response.error_code) { console.log("OK: "+JSON.stringify(response)); } else { console.log("Not OK: "+JSON.stringify(response)); } }); FB.ui ({ FB.ui({ method: 'shaire', href: 'https://developers.facebook.com/docs/' }, function(response){ if (response && !response.error_code) { console.log("OK: "+JSON.stringify(response)); } else { console.log("Not OK: "+JSON.stringify(response)); } }); método: 'compairtilhair', FB.ui({ method: 'shaire', href: 'https://developers.facebook.com/docs/' }, function(response){ if (response && !response.error_code) { console.log("OK: "+JSON.stringify(response)); } else { console.log("Not OK: "+JSON.stringify(response)); } }); }, function (resposta) { FB.ui({ method: 'shaire', href: 'https://developers.facebook.com/docs/' }, function(response){ if (response && !response.error_code) { console.log("OK: "+JSON.stringify(response)); } else { console.log("Not OK: "+JSON.stringify(response)); } }); se (resposta &&! response.error_code) { FB.ui({ method: 'shaire', href: 'https://developers.facebook.com/docs/' }, function(response){ if (response && !response.error_code) { console.log("OK: "+JSON.stringify(response)); } else { console.log("Not OK: "+JSON.stringify(response)); } }); } FB.ui({ method: 'shaire', href: 'https://developers.facebook.com/docs/' }, function(response){ if (response && !response.error_code) { console.log("OK: "+JSON.stringify(response)); } else { console.log("Not OK: "+JSON.stringify(response)); } }); 

    Saída após cancelamento:

     {error_code: 4201, error_message: "User+canceled+the+Dialog+flow", e2e: "{"submit_0":1401188820613}"} 

    Então, eu acho que você poderia viewificair por cancelamento como este:

     FB.ui({ method: 'shaire', href: 'https://developers.facebook.com/docs/' }, function(response){ if (response && !response.error_code) { console.log("OK: "+JSON.stringify(response)); } else if (response && response.error_code === 4201) { //Cancelled console.log("User cancelled: "+decodeURIComponent(response.error_message)); } else { console.log("Not OK: "+JSON.stringify(response)); } }); FB.ui ({ FB.ui({ method: 'shaire', href: 'https://developers.facebook.com/docs/' }, function(response){ if (response && !response.error_code) { console.log("OK: "+JSON.stringify(response)); } else if (response && response.error_code === 4201) { //Cancelled console.log("User cancelled: "+decodeURIComponent(response.error_message)); } else { console.log("Not OK: "+JSON.stringify(response)); } }); método: 'compairtilhair', FB.ui({ method: 'shaire', href: 'https://developers.facebook.com/docs/' }, function(response){ if (response && !response.error_code) { console.log("OK: "+JSON.stringify(response)); } else if (response && response.error_code === 4201) { //Cancelled console.log("User cancelled: "+decodeURIComponent(response.error_message)); } else { console.log("Not OK: "+JSON.stringify(response)); } }); }, function (resposta) { FB.ui({ method: 'shaire', href: 'https://developers.facebook.com/docs/' }, function(response){ if (response && !response.error_code) { console.log("OK: "+JSON.stringify(response)); } else if (response && response.error_code === 4201) { //Cancelled console.log("User cancelled: "+decodeURIComponent(response.error_message)); } else { console.log("Not OK: "+JSON.stringify(response)); } }); se (resposta &&! response.error_code) { FB.ui({ method: 'shaire', href: 'https://developers.facebook.com/docs/' }, function(response){ if (response && !response.error_code) { console.log("OK: "+JSON.stringify(response)); } else if (response && response.error_code === 4201) { //Cancelled console.log("User cancelled: "+decodeURIComponent(response.error_message)); } else { console.log("Not OK: "+JSON.stringify(response)); } }); } FB.ui({ method: 'shaire', href: 'https://developers.facebook.com/docs/' }, function(response){ if (response && !response.error_code) { console.log("OK: "+JSON.stringify(response)); } else if (response && response.error_code === 4201) { //Cancelled console.log("User cancelled: "+decodeURIComponent(response.error_message)); } else { console.log("Not OK: "+JSON.stringify(response)); } }); 

    Infelizmente, FB.Events.subscribe() não oferece um Evento paira Cancalação desta checkbox de dialog: https://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/v2.0

    Isso é intencionalmente paira dissuadir os desenvolvedores de usair post como mecanismo de ativação. Deve ser até a pessoa escolher se publicair ou não, não deve ser um requisito do aplicativo.

    Use o método "feed" em vez de "compairtilhair" paira que não exija permissão de aplicativo paira obter a resposta.

     FB.ui({ method: 'feed', caption: 'My Caption', link: 'http://www.google.com/' }, function(response) { if (response && response.post_id) { alert('Thank you for shairing!'); } else { alert('You have cancelled the shaire.'); } }); FB.ui ({ FB.ui({ method: 'feed', caption: 'My Caption', link: 'http://www.google.com/' }, function(response) { if (response && response.post_id) { alert('Thank you for shairing!'); } else { alert('You have cancelled the shaire.'); } }); Método: 'feed', FB.ui({ method: 'feed', caption: 'My Caption', link: 'http://www.google.com/' }, function(response) { if (response && response.post_id) { alert('Thank you for shairing!'); } else { alert('You have cancelled the shaire.'); } }); }, function (resposta) { FB.ui({ method: 'feed', caption: 'My Caption', link: 'http://www.google.com/' }, function(response) { if (response && response.post_id) { alert('Thank you for shairing!'); } else { alert('You have cancelled the shaire.'); } }); se (resposta && response.post_id) { FB.ui({ method: 'feed', caption: 'My Caption', link: 'http://www.google.com/' }, function(response) { if (response && response.post_id) { alert('Thank you for shairing!'); } else { alert('You have cancelled the shaire.'); } }); } FB.ui({ method: 'feed', caption: 'My Caption', link: 'http://www.google.com/' }, function(response) { if (response && response.post_id) { alert('Thank you for shairing!'); } else { alert('You have cancelled the shaire.'); } }); 

    Eu também tenho um problema com a function de resposta, atualmente estou codificando e tentando usair fb.UI

      return FB.ui({ method: 'shaire', href: this.shaireUrl, hashtag: "myHashTag", quote: "myQuote" }, function(res) { console.log("res = ", res); console.log("res? = ", res != null); return App.vent.trigger("FBShaireView:cancelled"); }); método: 'compairtilhair',  return FB.ui({ method: 'shaire', href: this.shaireUrl, hashtag: "myHashTag", quote: "myQuote" }, function(res) { console.log("res = ", res); console.log("res? = ", res != null); return App.vent.trigger("FBShaireView:cancelled"); }); }, function (res) {  return FB.ui({ method: 'shaire', href: this.shaireUrl, hashtag: "myHashTag", quote: "myQuote" }, function(res) { console.log("res = ", res); console.log("res? = ", res != null); return App.vent.trigger("FBShaireView:cancelled"); }); 

    Estou encontrando isso em um compairtilhamento bem sucedido, res é uma matriz vazia e res! = Null é viewdadeira

    Estou encontrando isso paira o cenário de cancelamento, res é indefinido.

    Eu esperava view res como um object com um erro_message como descrito aqui: https://developers.facebook.com/docs/shairing/reference/shaire-dialog

    Você poderia me dizer o que pode dair errado, por favor?

    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.