Noite de Rei!!!

Depois de algum tempo guardado começei a ler os quadrinhos baseados na Guerra dos Tronos (Game of Thrones). A história segue a onda dos livros com um traço muito bonito.

Um review melhor pode ser lido em GameOfThronesBR

Esse primeiro volume vai até o momento do que Daenerys descobre que está grávida do Drogo, bem no início!!!

Verificando o destinatário

Muitas vezes um site tem usuários engraçadinhos que informam e-mails falsos. Esses tempo pesquisei um pouco e encontrei alguns serviços que podem evitar ou diminuir isso.

Teste todos os dois que mais gostei foram o Email-Checker.Com e o Email-Validator.Net. Boa relação custo beneficio e funcionou muito bem.

 

Só no walkman

Outro integração que tive que fazer foi postar qual música a pessoa está ouvindo naquele momento. Para isso existe o Open Graph (vou falar nele em breve), mas segue o material base:
https://developers.facebook.com/docs/reference/opengraph/

Para postar no feed de atividades uma música utilizei a documentação de https://developers.facebook.com/docs/reference/opengraph/action-type/music.playlists. Tirando o fato da documentação javascript estar meio errada, consegui fazer o post com:

FB.api(
    "/me/music.playlists",
    "POST",
    {
        "playlist": "https://www.superplayer.fm/musicas-para-acordar-com-calma"
    },
    function (response) {
      if (response && !response.error) {
      }
    }
);

Para isso funcionar corretamente é necessário colocar as metatags do opengraph no head da página de destino:

<meta property="fb:app_id" content="???">
<meta property="og:site_name" content="??">
<meta property='og:url' content='??'>
<meta property='og:type' content='music.playlist'>
<meta property='og:title' content='??'>
<meta property='og:description' content='???'>
<meta property='og:image' content='???'>

Importante:
A parte mais importante disso é realizar a submissão do app para aprovação.A permissão necessário é publish_action e listen.

Parem as prensas

Esses dias eu fiquei curioso para saber a diferença entre stopPropagation e preventDefault. Segue a explicação que eu achei.

  • stopPropagation é utilizado para ter certeza que o evento não vai “borbulhar” para cima.
    ex: o clique em um também ir gerar um click no <td> dispara um clique no <tr> e no <table>. O stopPropagation evita que isso ocorra.
  • preventDefault é utilizado para evitar a ação normal de um elemento.
    ex: o preventDefault em um clique sobre um link ira evitar da url ser aberta, o em um botão evitar de postar o formulário.

Essa explicação me ajudou bastante.