Обновите плагин Patreon для Discourse до API v2

Всем привет :waving_hand:

Плагин Patreon для Discourse до сих пор использует API Patreon v1, который был устаревшим уже несколько лет. Чтобы интеграция продолжала работать корректно, её необходимо обновить до версии API v2.

API Patreon v2 — это поддерживаемая версия, которая обеспечивает аналогичный функционал v1, а также предлагает более согласованную модель данных и улучшенные связи между ресурсами.

Документация:

Основные замечания по миграции:

  • Некоторые вызовы API, которые сейчас используют /api/oauth2/, необходимо обновить до конечных точек v2.

  • Пользователям плагина потребуется создать новые OAuth-клиенты Patreon с областями доступа (scopes) v2 в ходе миграции. Клиенты v1 несовместимы.

  • Структура данных (например, кампания, участник, пожертвование) в v2 моделируется иначе.

Хотелось бы узнать, какой процесс предусмотрен для подобных обновлений. Готов помочь с рекомендациями по этой миграции.

Спасибо за поддержку этой интеграции :folded_hands:

2 лайка

Хотелось бы вернуться к этой теме. Продолжается ли активная поддержка этого плагина, или стоит считать его неактивным и принять тот факт, что прекращение работы v1 API приведёт к неработоспособности плагина?

1 лайк

Да. Я считаю, что он всё ещё активно поддерживается, поскольку это #официальный плагин, #включён в ядро, а последнее обновление было всего на прошлой неделе.

1 лайк

В последний раз, когда мы проводили исследование по этому вопросу, Patreon расформировал команду, занимавшуюся API v2, поэтому API v1 должен работать неограниченно долго.

Можете ли вы предоставить ссылки на какие-либо ресурсы, утверждающие обратное?

1 лайк

Спасибо за ответ! Источник информации — я инженер команды Patreon. В нашей публичной документации и в процессе создания клиента есть предупреждения о прекращении поддержки v1. V2 уже более 5 лет является основным API, а Discourse — одна из последних интеграций, которая до сих пор его не использует.

РЕДАКТИРОВАНИЕ: Если вам нужна дополнительная информация, вы можете написать мне в личные сообщения или отправить письмо (на случай, если я не получу уведомления из Discourse).

6 лайков

Привет @Falco, есть какие-то новости или планы по обновлению плагина? Мы хотели бы свести к минимуму последствия прекращения поддержки v1. Спасибо.

3 лайка

На следующей неделе я попробую внести обновления. Можем ли мы получить тестовые учетные данные?

4 лайка

Отлично, @falco, спасибо! У Patreon нет публичных тестовых пользователей. Лучший способ протестировать это, на мой взгляд, следующий:

  1. Создайте тестовый аккаунт (https://www.patreon.com/login) и подтвердите электронную почту.
  2. Создавать OAuth-клиенты могут только создатели. Вам нужно запустить кампанию создателя, перейдя по ссылке https://patreon.com/create (для запуска кампании требуется подтверждённая электронная почта).
  3. Создайте тестовый уровень поддержки: https://patreon.com/c/yourvanity/membership.
  4. Теперь вы можете создать клиент API v2 по адресу https://www.patreon.com/portal/registration/register-clients.

Чтобы протестировать функции ограничения доступа по уровню поддержки / членства, создайте отдельный тестовый аккаунт. Затем вы можете либо сделать пожертвование на бесплатный уровень вашей тестовой кампании, либо, возможно, предоставить подарочное членство от создателя.

Я с радостью отвечу, подключусь к вам или помогу через личные сообщения на следующей неделе.

1 лайк

Я не могу заставить эту форму активировать кнопку отправки, что бы я ни пробовал.

Та же проблема, о которой сообщалось здесь:

Это единственное препятствие, мешающее мне объединить изменения:

5 лайков

@Falco мы выпустили исправление для этого сегодня утром, приносим извинения! Можете попробовать снова? Также, здорово — быстрый прогресс! :tada:

2 лайка

Хорошо, на моём тестовом сайте всё работает отлично, я внесу изменения в понедельник утром.

3 лайка

Быстро, спасибо!

Это не связано с обновлением до v2, но общий вопрос, пока вы готовите этот PR — не могли бы вы установить заголовок User Agent в пользовательское значение? Например, Discourse-Patreon-Plugin/vX.x. Это может помочь нам в будущем отлаживать проблемы с API и идентифицировать клиентов. При устаревании v1 я видел множество заголовков User Agent от Faraday, и именно так я выяснил, что Discourse — одно из оставшихся приложений на v1.

3 лайка

Хорошая идея, добавлено в PR.

5 лайков