Plots2: QUESTÃO DE PLANEJAMENTO: Resposta via Twitter.

Criado em 28 abr. 2018  ·  72Comentários  ·  Fonte: publiclab/plots2

Descreva o problema (ou ideia)

Esta é uma questão de planejamento para resposta pelo twitter: feature.

Vamos primeiro discutir a melhor abordagem e, em seguida, dividiremos isso em questões independentes menores.

Mais detalhes 🔜!

=> Integração de e-mail nº 2672 ( @namangupta01 )

feature in progress more-detail-please planning summer-of-code

Comentários muito úteis

Como o @jywarren devemos mesclar o sistema OA com ele?

Todos 72 comentários

Legal! Link para a nova edição de Naman também!

No sábado, 28 de abril de 2018, 3h25 Sagarpreet Chadha [email protected]
escreveu:

Descreva o problema (ou ideia)

Esta é uma questão de planejamento para resposta pelo twitter: feature.

Vamos primeiro discutir a melhor abordagem e, em seguida, vamos dividir isso em
questões independentes menores.

Mais detalhes 🔜!


Você está recebendo isso porque está inscrito neste tópico.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/publiclab/plots2/issues/2671 ou silencie o tópico
https://github.com/notifications/unsubscribe-auth/AABfJ6EpFnMq_H5zR8vLtf7kXWZJbELxks5ttBlcgaJpZM4TrSYe
.

@namangupta01 , @jywarren ... vamos começar a discussão sobre isso ? Quando vocês dois estão livres?

Isso!
Em 14 de junho de 2018 12:55, "Sagarpreet Chadha" [email protected] escreveu:

@namangupta01 https://github.com/namangupta01 , @jywarren
https://github.com/jywarren ... vamos começar a discussão sobre isso? Quando
vocês dois estão livres?


Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-397198245 ,
ou silenciar o thread
https://github.com/notifications/unsubscribe-auth/ATwCYebYN7qM2c0Emtdw2jhwYIILp5r1ks5t8g_fgaJpZM4TrSYe
.

Eu tenho alguma implementação em minha mente... postarei em um tempo.

Joe (que acabou de começar a trabalhar com a equipe do Public Lab) teve uma ótima
pergunta -- este seria um canal para postagem de spam? Temos que nos preocupar
sobre spam de bots do Twitter, ou talvez pense em uma estratégia de moderação?

Quais são as maneiras pelas quais podemos estar atentos a isso? Abra o brainstorm!

Tipo, talvez os tweets de resposta tenham que ser "curtidos" por... alguém?

Na quinta-feira, 14 de junho de 2018 às 4h47 Naman Gupta [email protected]
escreveu:

Eu tenho alguma implementação em minha mente... postarei em um tempo.


Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-397237305 ,
ou silenciar o thread
https://github.com/notifications/unsubscribe-auth/AABfJ_g3eeUD8-7bvLjXmQLYIz0LYM1qks5t8jEFgaJpZM4TrSYe
.

Spam é o principal problema. Eu estava lendo a documentação dos últimos dias. Eu também queria saber se implementamos como você disse "os tweets de resposta precisam ser curtidos", encontrei um grande problema.
O problema é que sempre que um usuário retweeta no tweet (que é um nó) podemos saber sobre o retweet através de apis, mas quando o retweet é curtido não podemos saber sobre ele. A única maneira de saber sobre isso é procurar por cada status de retweet após certo intervalo de tempo, o que é muito ruim, porque vamos supor que temos 10k retuítes, então temos que procurar por status de 10k retuítes para ser curtido em determinado intervalo de tempo. E também este número de 10k continuará a aumentar ao longo do tempo.

E também um ponto principal que pode não levar a spam é que só podemos adicionar os tweets dos usuários cujo identificador do twitter está associado a qualquer conta do publiclab, assim como estávamos fazendo em reply-by-email onde o email do remetente do email é o primeiro verificado quanto à associatividade com a conta do publiclab.
Isso poderia levar a nenhum spam.

@namangupta01 ...ótimos pontos!

  • Spamming é o problema aqui, acho que a única técnica de moderação que também consigo pensar é que um moderador tem que aprovar o comentário em um tweet curtindo (semelhante a como as coisas funcionam em publiclab.org).
    => moderador pode ser pessoas com conta no Twitter do PublicLab OU uma pessoa da comunidade PL que curtiu de sua própria conta.

  • Acho que o objetivo é trazer um membro que é novo na comunidade, então trazer comentários de apenas pessoas existentes resolverá metade do problema.

O que você acha ?

Ótimo pensamento! Mas o único ponto com o qual estou preocupado é que temos que verificar explicitamente se o tweet está sendo curtido em todas as solicitações para todos os tweets nos tweets do publiclab, que podem se tornar pedidos muito grandes à medida que os tweets aumentam.

E na maioria das vezes estaremos solicitando os tweets por nada... essa era a minha preocupação. O que você acha?

No entanto, a técnica de moderação na interface do site publiclab funcionaria muito bem.
Gosta de aprovar comentários?

@jywarren Como o recurso de e-mail está quase completo, podemos discutir sobre isso?

Vou tentar reservar algum tempo para isso em um ou dois dias... obrigado!
Tentando colocar todos os grandes recursos totalmente em funcionamento antes de seguir em frente.
Obrigado!

Em segunda-feira, 25 de junho de 2018 às 19h18 Naman Gupta [email protected]
escreveu:

@jywarren https://github.com/jywarren Como o recurso de e-mail está quase
completo, poderíamos discutir sobre isso?


Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-400125415 ,
ou silenciar o thread
https://github.com/notifications/unsubscribe-auth/AABfJ-UOBtZ0G4haKmQRlSr0WJJ3Q30pks5uAW-ugaJpZM4TrSYe
.

@jywarren Podemos colocar node_id nos tweets? Para que possa ser facilmente identificado?

@jywarren É possível colocar node_id nos tweets?

Eu acho que sim! Mas nós desativamos o autotweeting um pouco. Poderíamos
reconhece links como publiclab.org/n/____ via Twitter API?

Em dom, 15 de julho de 2018, 09:26 Naman Gupta [email protected] escreveu:

@jywarren https://github.com/jywarren É possível colocar
node_id em tweets?


Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-405091999 ,
ou silenciar o thread
https://github.com/notifications/unsubscribe-auth/AABfJ575zPOLYU6bpFdMMkZA0vl-Xg_Yks5uG0LpgaJpZM4TrSYe
.

@jywarren Então publiclab.org/n/____ será apresentado diretamente no tweet ou existem outros links que redirecionam para este link como antes?
ex:
screen shot 2018-07-17 at 2 07 32 am

Eu estava pesquisando e descobri que todos os links que vêm no tweet através do twitter api são um link do twitter que é redirecionado para a página real. Eu queria saber se usamos o link para encontrar o nó e o tweet contém mais de um public.org/n/__ (um para fazer referência à postagem no laboratório público e outro pode ser usado em qualquer conteúdo do nó na própria postagem do laboratório público) então nesse caso o comentário pode ser adicionado ao nó errado porque não sabemos qual é o nó real que devemos adicionar este comentário? O que você acha?
screen shot 2018-07-17 at 3 40 13 am
screen shot 2018-07-17 at 3 40 23 am

@jywarren Então, de que maneira devo implementá-lo? usando node_id ou de outra forma. Estou finalizando a forma de implementação.

Isso é um pouco mais complexo quando não temos o tweet automático acontecendo,
porque não conseguimos formatar o original. Eu posso trazer isso à nossa equipe
ligue ou abra uma chamada hoje (https://publiclab.org/opencall) e podemos tentar
descobrir um bom caminho a seguir!

Em segunda-feira, 16 de julho de 2018 às 18h20 Naman Gupta [email protected]
escreveu:

Eu estava pesquisando e descobri que todos os links que vem no tweet através
twitter api é um link do twitter que é redirecionado para a página real. Eu fui
perguntando se usamos link para encontrar o nó e o tweet contém mais de um
public.org/n/__(um para postagem de referência no laboratório público e outro pode ser
usado em qualquer conteúdo do nó no próprio post do laboratório público), nesse caso
comentário pode ser adicionado ao nó errado porque não sabemos qual é o
nó real, devemos adicionar este comentário? O que você acha?
[imagem: captura de tela 17/07/2018 às 3 40 13 da manhã]
https://user-images.githubusercontent.com/20709985/42786554-59b06d14-8974-11e8-96bd-e2c804da47c9.png
[imagem: captura de tela 17/07/2018 às 3 40 23 da manhã]
https://user-images.githubusercontent.com/20709985/42786555-59f820f0-8974-11e8-9aa8-ef78abc46dfe.png


Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-405399249 ,
ou silenciar o thread
https://github.com/notifications/unsubscribe-auth/AABfJwu8hr_XV85dxj3NlaTRgsBCaZ8jks5uHRF3gaJpZM4TrSYe
.

Vou usar o twitter gem usando o qual também podemos fazer o tweet automático -- apenas que você saiba que podemos fazer o autotweeting sem usar nenhum serviço. Vou procurar a forma de formatar.

OK, então o que estamos pensando é:

  1. comece implementando apenas respostas de usuários "reconhecidos" do Twitter, usando o sistema de login OAuth
  2. tente encontrar tweets isolando publiclab.org/n/_____
  3. poderíamos exibir todos os comentários em uma lista apenas para moderadores e permitir que eles sejam "aprovados" de alguma forma? Você pode pensar em como isso pode funcionar?
  4. se começarmos a permitir todas as respostas twittadas, vamos considerar uma maneira de "desligá-lo" se começarmos a receber MUITO spam, dessa forma podemos experimentar as coisas.
  5. existem maneiras de exibir um tweet incorporado com suas respostas e, em seguida, se houver respostas tweetadas, notifique o pôster original, mas não as copie?

Acabei de receber uma ligação com @SidharthBansal. Eu perguntei sobre isso. Portanto, não estamos salvando o identificador do twitter agora, o que é necessário para reconhecer os usuários. Acho que devemos salvá-lo em algum lugar para que possamos reconhecê-lo. @jywarren ?

@namangupta01 você pode migrar o modelo de tag do usuário e adicionar o campo do manipulador.
Se precisar de mais ajuda não hesite em contactar-me.
Obrigado

https://github.com/publiclab/plots2/blob/master/doc/Omniauth.md
https://github.com/publiclab/plots2#ssl -in-development
publiclab/plots2#2893
estes certamente irão ajudá-lo

Obrigado Sidharth! :)

Na quinta-feira, 19 de julho de 2018 às 21h55 Sidharth Bansal [email protected]
escreveu:

https://github.com/publiclab/plots2/blob/master/doc/Omniauth.md
https://github.com/publiclab/plots2#ssl -in-development
publiclab/plots2#2893 https://github.com/publiclab/plots2/issues/2893
estes certamente irão ajudá-lo


Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-406336137 ,
ou silenciar o thread
https://github.com/notifications/unsubscribe-auth/ATwCYUJLLS9Lc722_YJWLBdLhWed_orrks5uILMDgaJpZM4TrSYe
.

Acho que request.env['omniauth.auth']["info"]["urls"] funcionará.

IMPORTANTE: Todos os provedores fornecem campos diferentes em seu hash com nomes diferentes. Então, por favor, cuide de preencher todas as informações de outros provedores -- campo url como NULL se eles não forem twitter

Veja os hashes fornecidos aqui e compare:

https://github.com/arunagw/omniauth-twitter
https://github.com/mkdynamic/omniauth-facebook
https://github.com/omniauth/omniauth-github
https://github.com/zquestz/omniauth-google-oauth2

Veja que os hashes são diferentes. Além disso, por favor, tome comentários de mim em seu prs. Eu ficarei feliz em ajudar.

Google_oauth2 também tem o mesmo nome --> informações --> URLs
Mas o facebook tem handler em extra_info. Então, por favor, busque [extra][raw_info][link] e armazene em user_tag como manipulador.
Github --> Não está escrito na documentação. Pode ser que não forneça. Pesquise se o github fornecer do que atribuir o manipulador do github a este campo
Todos aqueles que não podem ser configurados no manipulador como o Github, você pode colocá-los como NULL.

@jywarren devo fazer uma coluna separada para cada oauth?

modelo de tag de usuário e adicionar campo de manipulador

Gostaria de saber se poderíamos apenas criar um conjunto de campos oa- personalizados adicionais
para essas informações em um sistema de chave:valor simples, em vez de migrar o
banco de dados... Sidharth, o que você acha?

Na quinta-feira, 19 de julho de 2018 às 14h18 Naman Gupta [email protected]
escreveu:

@jywarren https://github.com/jywarren devo fazer uma coluna separada para
cada juramento?


Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-406368740 ,
ou silenciar o thread
https://github.com/notifications/unsubscribe-auth/AABfJ_XCeor_CeJB2aXO3eJHr0FJhX2rks5uIM1agaJpZM4TrSYe
.

Não precisamos complicar muito user_tag. Deve ser facilmente compreensível pelos recém-chegados.
Precisamos adicionar campos muitas vezes no futuro. Então, considere a situação que fizemos de acordo com essa abordagem, então os provedores terão valor como uid:provider :handler. O Github não fornece nenhum manipulador. Agora que vem a situação, precisamos que a imagem seja exibida na página de perfil. Então isso vai criar problema. Então, precisamos migrar o db. Então, minha opinião é migrar o db a partir de agora.

Precisamos ver a situação em que, no futuro, precisamos implementar postagens dentro e fora do fb ou twitter após o login, então também precisaremos de outros campos. Não podemos aumentar o valor

O sistema plano também é uma boa opção. Mas estou preocupado com a melhor legibilidade das user_tags para o futuro.

Vamos pensar sobre isso - que modificação exatamente no modelo user_tag você está procurando? Poderíamos adicionar apenas uma coluna de texto e armazenar JSON nela? Estou tentando pensar na maneira mais sustentável e flexível, para que não tenhamos muitos recursos muito específicos no modelo user_tag que não serão reutilizáveis ​​para diferentes propósitos. Faz sentido?

Obrigado, todos!

@jywarren sim, entendi seu ponto. Vamos anexar o campo val do user_tag.

Eu acho que usar um campo de texto mais longo pode ser útil para muitas coisas, então
se você quiser apenas ter uma coleção de outras coisas para armazenar junto com
o key:value , poderíamos fazer isso ...

Na quinta-feira, 19 de julho de 2018 às 18h Sidharth Bansal [email protected]
escreveu:

@jywarren https://github.com/jywarren sim, entendi seu ponto. Vamos
anexe o campo val do user_tag.


Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-406427465 ,
ou silenciar o thread
https://github.com/notifications/unsubscribe-auth/AABfJ4Hlow0UZgw-e-I0WBp9Lpt0MiC0ks5uIQFKgaJpZM4TrSYe
.

@SidharthBansal Toda vez que eu faço login via twitter no local, ele redireciona para o site do laboratório público. Qualquer ideia?

Eu acho que entendi porque está ocorrendo

@SidharthBansal estou recebendo este erro por favor ajude:
screen shot 2018-07-21 at 12 28 05 am

screen shot 2018-07-21 at 12 30 17 am

Adicione configurações avançadas para permitir https para sites não seguros

127.0.0.1:3001 não é seguro

Resolvido obrigado @SidharthBansal 👍

@jywarren Eu estava hoje procurando como o sistema plano pode ser alcançado.
O arquivo a seguir é o arquivo principal no meu projeto Soc.
https://github.com/publiclab/plots2/blob/f2fe98da351a562152a85bd068acb1a9e6e7f7c0/app/models/user_tag.rb#L24 -L30
Se anexarmos a string, todo o Soc Project precisará ser atualizado em várias posições. Além disso, todos os testes falharão. Precisamos escrever todos os testes novamente.
@namangupta01 o que você sugere?
Se criarmos um novo campo no banco de dados, o projeto Soc pode ser modificado sem conflitos. Todos os testes e códigos para o Soc Project permanecerão como estão.

Acho que @jywarren disse aqui que podemos adicionar um novo campo de texto onde podemos armazenar o objeto JSON que estamos recebendo em resposta.

Vamos pensar sobre isso - que modificação exatamente no modelo user_tag você está procurando? Poderíamos adicionar apenas uma coluna de texto e armazenar JSON nela? Estou tentando pensar na maneira mais sustentável e flexível, para que não tenhamos muitos recursos muito específicos no modelo user_tag que não serão
reutilizável para diversos fins. Faz sentido?

Estou certo @jywarren ?

Vamos aguardar a entrada de jeffs.

Sim......

Minha outra preocupação é que, quando pesquisamos novas respostas no twitter a cada 5 segundos ou a cada 10 segundos, descobriremos se existe ou não um identificador específico no banco de dados. Suponha que em cada resposta tenhamos algumas respostas e então tenhamos que encontrar os handles para isso estaremos analisando o campo de texto para extrair o handle e verificar se esse handle existe ou não. Aumentaria a complexidade de tempo do sistema? Porque para cada verificação de identificador estaremos fazendo O(n) trabalho? E também nenhuma indexação funcionaria neste caso para tornar a transação de banco de dados mais rápida.
Desculpe @jywarren, isso está levando algum tempo porque quero ser totalmente confirmado sobre a implementação antes de abrir o pr, pois será um sistema complexo.

Oi! Sim, eu estava dizendo que se houver muito conteúdo que você deseja armazenar
juntos de uma forma menos plana, poderíamos fazer uma coluna de texto data no
user_tag e armazene JSON nela. Mas você pode oferecer um exemplo claro de
o tipo de dados que você deseja armazenar para que possamos saber se é o
maneira de armazená-lo? Obrigado!

Pela complexidade, concordo, isso pode criar uma carga significativa. Você pode
escrever pseudocódigo para a série de consultas e posso ajudar a otimizar? Eu estou
pensando, poderíamos criar uma consulta mais eficiente, mas me ajude a descobrir o
passos desejados primeiro. Obrigado!

Em sex, 20 de julho de 2018 às 16:00 Naman Gupta [email protected]
escreveu:

Minha outra preocupação é que quando vamos pesquisar novas respostas no twitter em
a cada 5 segundos ou a cada 10 segundos vamos encontrar se particular
handle existe ou não no banco de dados. Suponha que em cada resposta tenhamos algum
respostas e, em seguida, temos que encontrar os identificadores para os quais analisaremos
o campo de texto para extrair o identificador e verificar se esse identificador existe
ou não. Isso aumentaria a complexidade de tempo do sistema? Por causa de
cada verificação de alça estaremos fazendo O(n) trabalho? E também sem indexação
funcionaria neste caso para tornar a transação de banco de dados mais rápida.
Desculpe @jywarren https://github.com/jywarren isso está demorando um pouco
porque eu quero ser totalmente confirmado sobre a implementação antes
abrindo o pr já que vai ser um sistema complexo.


Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-406711222 ,
ou silenciar o thread
https://github.com/notifications/unsubscribe-auth/AABfJ7Z9x-9Cwedez8T-gsMnYR4VQ75zks5uIjbCgaJpZM4TrSYe
.

Pseudocode:

  1. Busque as últimas respostas do Twitter:
  2. Para cada resposta em respostas:
    verifique se ele pertence a algum nó ou post usando publiclab.org/n/_____ e se esse nó existe, descubra se o usuário existe usando o replicador de tweet. Se o usuário existir, adicione o comentário.
    tweets = client.search("to:publiclab", since_id: 23423423).collect do |tweet| node = Node.where(some_condition) #To find if node exists if node.any? node = node.first tweet_user = tweet.user UserTag.all.each do |user_tag| if(some_condtion_to_check if user handle exists) add_comment end end end end

A partir de agora eu só preciso armazenar o identificador do twitter, mas não sei qual recurso
queremos no futuro como foto de perfil e muito mais?

No sábado, 21 de julho de 2018 às 1h52, Jeffrey Warren [email protected]
escreveu:

Oi! Sim, eu estava dizendo que se houver muito conteúdo que você deseja armazenar
juntos de uma forma menos plana, poderíamos fazer uma coluna de texto data no
user_tag e armazene JSON nela. Mas você pode oferecer um exemplo claro de
o tipo de dados que você deseja armazenar para que possamos saber se é o
maneira de armazená-lo? Obrigado!

Pela complexidade, concordo, isso pode criar uma carga significativa. Você pode
escrever pseudocódigo para a série de consultas e posso ajudar a otimizar? Eu estou
pensando, poderíamos criar uma consulta mais eficiente, mas me ajude a descobrir o
passos desejados primeiro. Obrigado!

Em sex, 20 de julho de 2018 às 16:00 Naman Gupta [email protected]
escreveu:

Minha outra preocupação é que quando vamos pesquisar novas respostas no twitter
dentro
a cada 5 segundos ou a cada 10 segundos vamos encontrar se particular
handle existe ou não no banco de dados. Suponha que em cada resposta tenhamos algum
respostas e, em seguida, temos que encontrar os identificadores para os quais analisaremos
o campo de texto para extrair o identificador e verificar se esse identificador
existir
ou não. Isso aumentaria a complexidade de tempo do sistema? Por causa de
cada verificação de alça estaremos fazendo O(n) trabalho? E também sem indexação
funcionaria neste caso para tornar a transação de banco de dados mais rápida.
Desculpe @jywarren https://github.com/jywarren isso está demorando um pouco
porque eu quero ser totalmente confirmado sobre a implementação antes
abrindo o pr já que vai ser um sistema complexo.


Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
< https://github.com/publiclab/plots2/issues/2671#issuecomment -406711222
,
ou silenciar o thread
<
https://github.com/notifications/unsubscribe-auth/AABfJ7Z9x-9Cwedez8T-gsMnYR4VQ75zks5uIjbCgaJpZM4TrSYe

.


Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-406716657 ,
ou silenciar o thread
https://github.com/notifications/unsubscribe-auth/ATwCYaP_Iy1H4Uxs83vmG95ucdrSLgxtks5uIjwCgaJpZM4TrSYe
.

HI @jywarren Eu adicionei migração para salvar JSON para resposta omniauth em # 3117 apenas para dar um começo... deixe-me saber se precisa de alguma alteração?

@jywarren alguma revisão e feedback sobre pseudocode e pr?

espero concluir isso o mais rápido possível.

Você pode compartilhar uma saída JSON típica que seria armazenada nesta nova coluna, para que possamos ver? Obrigado!

Para o pseudocódigo, você poderia fazer algo como:

since = comments.where(since_id not null).last # get most recent comment-from-tweet time
tweets = client.search("to:publiclab", since_id: 23423423).collect do |tweet|
 node = Node.where(some_condition) #To find if node exists
 if node.any?
   node = node.first
   tweet_user = tweet.user
   ruser = UserTag.find_by(twitter_id: tweet.user)
   add_comment(since_id: since, ruser) unless ruser.nil? 
end
end

Pode ser mais ideal?

Aqui está o exemplo de JSON:
````
{
"provedor":"twitter",
"uid":"849503183529545728",
"informações":{
"nickname":"itsmenamangupta",
"name":"Naman Gupta",
"email":" [email protected] ",
"localização":"",
"imagem":" http://pbs.twimg.com/profile_images/950001110378401793/mBAtBXyI_normal.jpg ",
"description":"GSoC'18 @PublicLab",
"urls":{
"Site":" https://t.co/fqLSxIlYFH ",
"Twitter":" https://twitter.com/itsmenamangupta "
}
},
"credenciais":{
"token":"849503183529545728-fgqcxtgihvrrKd2icj67QpspT5bKntD",
"secret":"ZDTD5HsexliY2Tnrv6aSEVSqPVvbDLY2YDW9S5VeDmmyK"
},
"extra":{
"access_token":{
"token":"849503183529545728-fgqcxtgihvrrKd2icj67QpspT5bKntD",
"secret":"ZDTD5HsexliY2Tnrv6aSEVSqPVvbDLY2YDW9S5VeDmmyK",
"consumidor":{
"key":"H59J9kJBVQvtZvWhr2SUAht4o",
"secret":"GEQOygPITjGj2Imzg5ALJeCqE0GdQU2GAmTYOS9kEPcLVlMxQu",
"opções":{
"signature_method":"HMAC-SHA1",
"request_token_path":"/oauth/request_token",
"authorize_path":"/oauth/authenticate",
"access_token_path":"/oauth/access_token",
"proxy": null,
"esquema":"cabeçalho",
"http_method":"postagem",
"debug_output":null,
"oauth_version":"1.0",
"site":" https://api.twitter.com "
},
"debug_output":null,
"http":{
"endereço":"api.twitter.com",
"porta":443,
"local_host":null,
"local_port":null,
"curr_http_version":"1.1",
"keep_alive_timeout":2,
"last_communicated":null,
"close_on_empty_response":false,
"soquete":null,
"iniciado":false,
"open_timeout":30,
"read_timeout":30,
"continue_timeout":null,
"debug_output":null,
"proxy_from_env":true,
"proxy_uri":null,
"proxy_address":null,
"proxy_port":null,
"proxy_user":null,
"proxy_pass":null,
"use_ssl":true,
"ssl_context":{
"verify_mode":0,
"verify_hostname":true
},
"ssl_session":{

           },
           "sspi_enabled":false,
           "ca_file":null,
           "ca_path":null,
           "cert":null,
           "cert_store":null,
           "ciphers":null,
           "key":null,
           "ssl_timeout":null,
           "ssl_version":null,
           "verify_callback":null,
           "verify_depth":null,
           "verify_mode":0
        },
        "http_method":"post",
        "uri":"https://api.twitter.com"
     },
     "params":{
        "oauth_token":"849503183529545728-fgqcxtgihvrrKd2icj67QpspT5bKntD",
        "oauth_token_secret":"ZDTD5HsexliY2Tnrv6aSEVSqPVvbDLY2YDW9S5VeDmmyK",
        "user_id":"849503183529545728",
        "screen_name":"itsmenamangupta"
     },
     "response":{
        "cache-control":[
           "no-cache, no-store, must-revalidate, pre-check=0, post-check=0"
        ],
        "connection":[
           "close"
        ],
        "content-disposition":[
           "attachment; filename=json.json"
        ],
        "content-length":[
           "664"
        ],
        "content-type":[
           "application/json;charset=utf-8"
        ],
        "date":[
           "Sat, 21 Jul 2018 10:51:03 GMT"
        ],
        "expires":[
           "Tue, 31 Mar 1981 05:00:00 GMT"
        ],
        "last-modified":[
           "Sat, 21 Jul 2018 10:51:03 GMT"
        ],
        "pragma":[
           "no-cache"
        ],
        "server":[
           "tsa_k"
        ],
        "set-cookie":[
           "personalization_id=\"v1_pEJH6fv6zGSET2PG1MYRCw==\"; Expires=Mon, 20 Jul 2020 10:51:03 GMT; Path=/; Domain=.twitter.com",
           "lang=en; Path=/",
           "guest_id=v1%3A153217026311648297; Expires=Mon, 20 Jul 2020 10:51:03 GMT; Path=/; Domain=.twitter.com"
        ],
        "status":[
           "200 OK"
        ],
        "strict-transport-security":[
           "max-age=631138519"
        ],
        "x-access-level":[
           "read-write-directmessages"
        ],
        "x-connection-hash":[
           "cf7caac1e8db2d46c6043fb2287ca32b"
        ],
        "x-content-type-options":[
           "nosniff"
        ],
        "x-frame-options":[
           "SAMEORIGIN"
        ],
        "x-rate-limit-limit":[
           "75"
        ],
        "x-rate-limit-remaining":[
           "71"
        ],
        "x-rate-limit-reset":[
           "1532170356"
        ],
        "x-response-time":[
           "238"
        ],
        "x-transaction":[
           "0085940a005f5411"
        ],
        "x-twitter-response-tags":[
           "BouncerExempt",
           "BouncerCompliant"
        ],
        "x-xss-protection":[
           "1; mode=block; report=https://twitter.com/i/xss_report"
        ]
     }
  },
  "raw_info":{
     "id":849503183529545728,
     "id_str":"849503183529545728",
     "name":"Naman Gupta",
     "screen_name":"itsmenamangupta",
     "location":"",
     "description":"GSoC'18 @PublicLab",
     "url":"https://t.co/fqLSxIlYFH",
     "entities":{
        "url":{
           "urls":[
              {
                 "url":"https://t.co/fqLSxIlYFH",
                 "expanded_url":"http://www.namangupta.me",
                 "display_url":"namangupta.me",
                 "indices":[
                    0,
                    23
                 ]
              }
           ]
        },
        "description":{
           "urls":[

           ]
        }
     },
     "protected":false,
     "followers_count":16,
     "friends_count":32,
     "listed_count":0,
     "created_at":"Wed Apr 05 06:05:16 +0000 2017",
     "favourites_count":86,
     "utc_offset":null,
     "time_zone":null,
     "geo_enabled":false,
     "verified":false,
     "statuses_count":42,
     "lang":"en",
     "contributors_enabled":false,
     "is_translator":false,
     "is_translation_enabled":false,
     "profile_background_color":"000000",
     "profile_background_image_url":"http://abs.twimg.com/images/themes/theme1/bg.png",
     "profile_background_image_url_https":"https://abs.twimg.com/images/themes/theme1/bg.png",
     "profile_background_tile":false,
     "profile_image_url":"http://pbs.twimg.com/profile_images/950001110378401793/mBAtBXyI_normal.jpg",
     "profile_image_url_https":"https://pbs.twimg.com/profile_images/950001110378401793/mBAtBXyI_normal.jpg",
     "profile_link_color":"FFFFFF",
     "profile_sidebar_border_color":"000000",
     "profile_sidebar_fill_color":"000000",
     "profile_text_color":"000000",
     "profile_use_background_image":false,
     "has_extended_profile":true,
     "default_profile":false,
     "default_profile_image":false,
     "following":false,
     "follow_request_sent":false,
     "notifications":false,
     "translator_type":"none",
     "suspended":false,
     "needs_phone_verification":false,
     "email":"[email protected]"
  }

}
}
````

Sim, podemos usar o código especificado por você, precisaremos da coluna user_tag twitter_id user_tag?

sim, o problema é que você não pode pesquisar pelo json, provavelmente ...
pesquisa de texto completo, mas é um pouco caro, certo? @sidharthBansal - o que fazer
você acha que é uma boa abordagem aqui?

Em segunda-feira, 23 de julho de 2018 às 15h49 Naman Gupta [email protected]
escreveu:

Sim, podemos usar o código especificado por você, precisaremos da coluna twitter_id
na tabela user_tag?


Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-407178930 ,
ou silenciar o thread
https://github.com/notifications/unsubscribe-auth/AABfJxV7kQpSKvSyCCpDQlFN6fWT_-yqks5uJiibgaJpZM4TrSYe
.

Sim, ficaria caro.
Adicionar username direto à coluna para todos os serviços de autenticação ajudaria?

Oi pessoal, só quero lembrar que armazenamos nomes de usuário para várias contas sociais em usertags também, então se vocês decidirem mudar para tabelas para armazenar nome de usuário, por favor, abra um problema de acompanhamento para mesclar esse sistema. Obrigado!

Valeria a pena gerar automaticamente a tag de estilo [twitter:jywarren] do
Sistema OA? Precisamos ter cuidado para que ninguém associe falsamente seus
conta usando as tags de estilo [twitter:jywarren], então talvez precisemos
combiná-los; Gaurav, você poderia explicar um pouco sobre como esse sistema
funciona?

Em segunda-feira, 23 de julho de 2018 às 16h39 Gaurav Sachdeva [email protected]
escreveu:

Oi pessoal, só quero lembrar que armazenamos, nomes de usuários para várias redes sociais
contas em usertags também, então se vocês decidirem mudar para tabelas para
armazenando o nome de usuário, abra um problema de acompanhamento para mesclar esse sistema.
Obrigado!


Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-407193340 ,
ou silenciar o thread
https://github.com/notifications/unsubscribe-auth/AABfJ79eJpa40xw7imZ_m2K8A2B3F4v0ks5uJjRdgaJpZM4TrSYe
.

Oi pessoal, só quero lembrar que armazenamos nomes de usuário para várias contas sociais em usertags também, então se vocês decidirem mudar para tabelas para armazenar nome de usuário, por favor, abra um problema de acompanhamento para mesclar esse sistema. Obrigado!

Oi @Gauravano , não estamos armazenando em nenhum lugar os nomes de usuários dos usuários de mídia social até agora. Atualmente, apenas o ID do usuário e o nome do provedor são salvos.
@Gauravano , você pode explicar para qual problema você está apontando? Não estamos fazendo novas mesas. Estamos migrando a usertag.

Sim, podemos usar o código especificado por você, precisaremos da coluna twitter_id na tabela user_tag?

sim, o problema é que você não pode pesquisar pelo json, provavelmente... você pode pesquisar por texto completo, mas é um pouco caro, certo? @SidharthBansal - o que você acha que é uma boa abordagem aqui?

@jywarren , @namangupta01 podemos armazenar o nome de usuário.

Precisamos ter cuidado para que ninguém associe falsamente sua conta usando as tags de estilo [twitter:jywarren], então talvez precisemos combiná-las?

Enviei um pr em abril para este caso. Ninguém é capaz de criar qualquer tag com o nome oauth:________
Portanto, não há necessidade de se preocupar com esse problema. Você pode verificar isso indo para a página de perfil.
Captura de tela para melhor compreensão.
image

Valeria a pena gerar automaticamente a tag de estilo [twitter:jywarren] do sistema OA?

@jywarren Atualmente estamos gerando as usertags OAuth SOMENTE do OAuth. Não há outra maneira de gerá-los.

Adicionar nome de usuário direto à coluna para todos os serviços oauth ajudaria?

Adicionar várias colunas repetidas vezes não ajudaria. Sugiro fortemente que armazene todo o hash e use o que precisamos sempre que necessário. Por exemplo, depois que naman usa o manipulador de auth hash. Podemos usar a imagem do URL da imagem para exibir na página de perfil do laboratório público. Atualmente usamos Gravatar.

Problema relacionado nº 3125
Estamos armazenando o manipulador. Alguns provedores permitem que o usuário altere seu manipulador. Portanto, precisamos de um método para alterar o hash de autenticação toda vez que o usuário fizer login OU quando a autenticação expirar. A autenticação fornece a data e hora de expiração. Assim, podemos usar isso e atualizar o hash de autenticação de acordo. Por favor, discuta esta subquestão em #3125 para que possamos manter a migração user_tag nesta questão.

Obrigado

Oi @jywarren @SidharthBansal @namangupta01 , eu estava me referindo a este sistema -

Nós fornecemos aos usuários PL para inserir seus vários nomes de usuário de mídia social como este-
this_one

O usuário adiciona a plataforma social como chave e seu nome de usuário como valor
user_2

Depois que a usertag for adicionada ao seu perfil-
profile_tags

Obrigado!

@Gauravano Acho que usar isso não será bom porque posso adicionar qualquer nome de usuário que eu quiser?

Como o @jywarren devemos mesclar o sistema OA com ele?

OK, armazenar o hash faz sentido - por que fazer a conversão extra, certo? Legal.

E +1 mesclando esses sistemas. O sistema anterior é ótimo, mas se beneficiaria da integração aqui pelos motivos acima! Obrigado, todos!

sim, armazenar hash parece uma boa opção👍

Em terça-feira, 24 de julho de 2018 às 22h45 Jeffrey Warren [email protected]
escreveu:

OK, armazenar o hash faz sentido - por que fazer a conversão extra, certo?
Legal.

E +1 mesclando esses sistemas. O sistema anterior é ótimo, mas seria
beneficiar da integração aqui pelas razões acima! Obrigado, todos!


Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-407482926 ,
ou silenciar o thread
https://github.com/notifications/unsubscribe-auth/ATwCYU7kYuvbVUbybfTrYum5r2lVLYevks5uJ1Y-gaJpZM4TrSYe
.

@jywarren @Gauravano @SidharthBansal vocês podem me dizer como obter hash da string salva em db porque não consigo encontrar uma maneira? Obrigado

Olá @Gauravano , recomendo que você abra outro problema para mesclar ícones de mídia social com OA e vincule-o aqui para que a discussão não seja divergente.
Obrigado pela bela sugestão.

Oi @SidharthBansa eu já tentei os links acima, mas eles não funcionaram

Eu tenho o problema .. temos que converter explicitamente a variável auth para hash para resolver isso.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

first-timers[bot] picture first-timers[bot]  ·  3Comentários

milaaraujo picture milaaraujo  ·  3Comentários

divyabaid16 picture divyabaid16  ·  3Comentários

noi5e picture noi5e  ·  3Comentários

jywarren picture jywarren  ·  3Comentários