こんにちは、皆さん!
Discourse の投稿をボットで更新する最適な方法(またはよくドキュメント化された方法/初心者向けガイド)を探しています。
私たちはラズパイを使っていくつかのスイッチの状態を確認し、その状態に応じてフォーラムの投稿を更新したいと考えています。
良いアドバイスがあれば歓迎します。事前にありがとうございます。
Richarde
Pravi
(PK)
2021 年 6 月 26 日午後 6:44
2
投稿をリモートで更新するには、メール受信者を設定するか、Discourse API に依存する必要があります。
@Pravi さん、ありがとうございます。
これに関する初心者向けのガイドはありますか?
あらかじめお礼申し上げます。
追記:API がもたらす可能性について考えているうちに、そのソリューションの方が良いと思い直しました。
今から設定方法について調べるつもりです…ヒントがあればぜひ教えてください。
fzngagan
(Faizaan Gagan)
2021 年 6 月 27 日午後 12:33
4
この gem を使用して Discourse に接続し、必要なあらゆる操作を実行できます。
Discourse API を利用したいのですね?素晴らしい!始めましょう。
Discourse 開発環境のセットアップ
Windows 、macOS 、または Ubuntu のガイドを使用して、Discourse 開発環境をセットアップしてください。
Discourse API Gem のクローン作成
Discourse 開発環境のセットアップが完了したなら、システムにはすでに Git と Ruby がインストールされているはずです。コンソールから次のコマンドを実行して、Discourse API gem をインストールできます。
git clone https://github.com/discourse/discourse_api.git ~/discourse_api
あるいは、gem を直接インストールすることもできます。
gem install discourse_api
依存関係のインストール
discourse_api ディレクトリを開き、次のように入力します。
bundle install
これにより、必要な gem の依存関係がすべてインストールされま…
Pravi
(PK)
2021 年 6 月 27 日午後 12:35
5
Discourse API を使ったことがないため、API に関するお手伝いはできません。しかし、以下のリンクがスタートするのに役立つことを願っています。
https://meta.discourse.org/search?q=discourse%20api
<div data-theme-toc="true"> </div>
# Discourse API
詳細については、Discourse API ドキュメントサイトをご覧ください。
https://docs.discourse.org
> ## 認証
> **APIリクエストはHTTPヘッダーベースの認証を使用する必要があります。** `Api-Key` と `Api-Username` をHTTPヘッダーとして渡してください。クエリパラメータまたはリクエストボディによる認証はサポートされていません(これは2020年4月に削除されました)。下記のcURLリクエストの例を参照してください。
>
> RSSフィード、メール受信者エンドポイント、およびICSルートへのリクエストでのみ、クエリパラメータによる認証が引き続きサポートされています。
>
> Content-Type は、「application/x-www-form-urlencoded」、「multipart/form-data」、または「application/json」に…
https://meta.discourse.org/t/how-to-run-data-explorer-queries-with-the-discourse-api/120063/2
Discourse は完全な JSON API によってサポートされています。サイトで行えることはすべて JSON API を使用して行うこともできます。
API は docs.discourse.org で文書化されています。クライアントライブラリとして discourse_api Ruby gem を使用することもできます。ただし、すべてのエンドポイントが文書化されているわけではありません。
JSON API で何かを行う方法を決定するには、以下の手順に従うことができます。
例: トピックのカテゴリを変更する
トピックに移動し、カテゴリの編集を開始します。
[image]
Chrome 開発者ツールを開き、「Network」タブに切り替え、「Fetch/XHR」フィルターを選択します。
[image]
操作を実行します。
[image]
リクエストデータは「Payload」タブの下に表示されます。
[image]
結果を把握するためにプレビューも確認します。
[image]
必要な情報はすべて揃いました。
エンドポイントは http…
現在、進行中です:
これまでに実施したこと:
API キーの生成
Postman でいくつかの PUT リクエストと GET リクエストを作成し、問題なく動作確認完了
コレクションを JSON ファイルとしてエクスポート
API 用の Ruby フレームワークがあることは承知していますが、すでに Python でスクリプトを作成した経験があるため、Python を使用したいと考えています。
次にどのように進めればよいか、ご存知の方がいらっしゃいましたらご教示ください。
よろしくお願いいたします。
リチャード
OK、pydiscourse を見つけました。これならかなりうまく機能するようです
つまり、Postman でセットアップするステップは必須ではありませんでしたが、API のロジックを理解する助けになりました。時間を無駄にしたわけではありません
要約すると、Discourse を Python で操作したい場合は、以下の pydiscourse を使用できます。
(元の作者のリストに基づいていますが、不完全な場合があります)
Marc Sibson
James Potter
Ben Lopatin
Daniel Zohar
Matheus Fernandes
Scott Nixon
Jason Dorweiler
Pierre-Alain Dupont
Karl Goetz
Alex Kerney
Gustav https://github.com/dkgv