Atualizar o plugin Discourse do Patreon para a API v2

Olá pessoal :waving_hand:

O plugin Patreon Discourse ainda está usando a API v1 do Patreon, que foi descontinuada há vários anos. Para manter a integração funcionando corretamente, ela precisa ser atualizada para usar a API v2.

A API v2 do Patreon é a versão suportada e fornece funcionalidade equivalente à v1, juntamente com um modelo de dados mais consistente e relacionamentos de recursos aprimorados.
Documentação:

Principais notas de migração:

  • Algumas chamadas de API que atualmente usam /api/oauth2/ precisarão ser atualizadas para os endpoints v2.

  • Os usuários do plugin precisarão criar novos clientes OAuth do Patreon com escopos v2 durante a migração. Clientes v1 não são compatíveis.

  • A estrutura de dados (por exemplo, campanha, membro, promessa) é modelada de forma diferente na v2.

Gostaria de saber qual é o processo para esse tipo de atualização. Ficarei feliz em ajudar com orientações sobre esta migração.

Obrigado por manter esta integração :folded_hands:

2 curtidas

Gostaria de dar seguimento a este tópico. Este plugin ainda está sendo ativamente mantido, ou devemos presumir que está inativo e aceitar que o término da API v1 resultará no mau funcionamento do plugin?

1 curtida

Sim. Acredito que ainda esteja ativamente mantido, pois é um plugin #oficial, foi #incluído-no-core e teve o commit mais recente na semana passada.

1 curtida

Na última vez que pesquisamos sobre isso, o Patreon havia desmantelado a equipe que trabalhava na API v2 no meio do caminho, então a API v1 funcionaria indefinidamente.

Você pode fornecer links para algum recurso que diga o contrário?

1 curtida

Obrigado por responder sobre isso! Fonte disso - sou engenheiro na equipe do Patreon. Nossa documentação pública e o fluxo de criação de cliente têm avisos sobre a descontinuação da v1. A v2 tem sido a API principal por cerca de 5 anos ou mais, o Discourse é uma das últimas integrações que ainda não a utiliza.

EDIT: Fiquem à vontade para me enviar uma mensagem direta ou e-mail (caso eu não receba notificações do Discourse) se vocês precisarem de informações adicionais.

6 curtidas

Olá @Falco alguma atualização / planos para atualizar o plugin? Gostaríamos de minimizar o impacto da descontinuação da v1. Obrigado.

3 curtidas

Vou tentar atualizar na próxima semana. Podemos obter algumas credenciais de teste?

4 curtidas

Excelente @falco, agradeço isso! O Patreon não possui usuários de teste públicos. A melhor maneira que eu sugeriria para testar isso seria:

  1. Crie sua conta de teste (https://www.patreon.com/login) e verifique seu e-mail.
  2. Apenas criadores podem criar clientes OAuth. Você precisaria iniciar sua campanha de criador visitando https://patreon.com/create (o e-mail precisa ser verificado para que a campanha seja considerada lançada).
  3. Crie um nível de teste https://patreon.com/c/yourvanity/membership.
  4. Agora você pode criar o cliente de API v2 em https://www.patreon.com/portal/registration/register-clients

Para testar o controle de acesso / recursos de associação, você criaria uma conta de teste separada. Você poderia então se inscrever no nível gratuito de sua campanha de teste ou potencialmente conceder uma associação presenteada do criador.

Fico feliz em responder, fazer uma dupla / ajudá-lo por DMs na próxima semana.

1 curtida

Não consigo fazer com que este formulário habilite o botão de enviar, não importa o que eu tente.

Este é o único bloqueio para que eu possa mesclar a alteração.

4 curtidas

@Falco liberamos uma correção para isso mais cedo hoje, desculpe! Você pode tentar novamente? Também, legal - progresso rápido! :tada:

2 curtidas

Ok, isso está funcionando bem no meu site de teste, vou mesclar a alteração no início de segunda-feira.

3 curtidas

Isso foi rápido, obrigado!

Não relacionado a uma atualização para a v2, mas um pedido geral enquanto você está preparando este PR: você poderia definir o user agent para um valor personalizado? Algo como Discourse-Patreon-Plugin/vX.x? Isso pode nos ajudar a depurar problemas de API no futuro e identificar os clientes. Para a descontinuação da v1, vi vários UAs do Faraday e foi assim que percebi que o Discourse era um dos aplicativos restantes da v1.

2 curtidas

Boa ideia, adicionado ao PR.

4 curtidas