Discourse API によって返されるフィールドの説明

Discourse API を使用してフォーラムの投稿を抽出しています。API が返すフィールドの意味を理解する助けが必要です。例えば、各 postpost_type フィールドは数値ですが、有効な値とその意味は何でしょうか。同様に、actions_summary 内の id も数値です。また、readsscore などの他のフィールドについても明確ではありません。この情報を入手できる場所に関する手がかりがあれば幸いです。ありがとうございます!

もしあなたのサイトに Data Explorer プラグイン がインストールされている場合、エントリにカーソルを合わせると使用されている数値コードの詳細を確認できます。

例えば、postspost_type フィールドにカーソルを合わせると、以下の値が表示されます。

  • regular: 1
  • moderator action: 2
  • small action: 3
  • whisper: 4

Data Explorer 以外では、この情報が記載されているのは Discourse のソースコードのみです。例えば、user_actions テーブルの各 action_type の意味を確認するには、Rails コンソールで UserAction.types と入力してください。すると、以下の値が返されます。

{:like=>1, :was_liked=>2, :bookmark=>3, :new_topic=>4, :reply=>5, :response=>6, :mention=>7, :quote=>9, :edit=>11, :new_private_message=>12, :got_private_message=>13, :solved=>15, :assigned=>16}

@simon さん、ありがとうございます!この情報を得る方法は興味深いですね。あなたの提案を基に調査を進めたところ、user_actions については このコード を見つけましたが、post_type については相当探しても類似のものが見つかりませんでした。API が返すすべてのフィールドが、少なくとも重要な意味を持つフィールドについては、どこかにドキュメント化されていることを期待していました。

それは理解できます。ただし、類似のコードは存在します。こちらをご覧ください:discourse/app/models/post.rb at main · discourse/discourse · GitHub データベースの構造は非常に一貫性があります。ドキュメント不足を補う一助となれば幸いです。

API が返すすべてのフィールドがドキュメント化されるかどうかは確信できませんが、数値コードが返されるさまざまな場所をドキュメント化することは重要だと考えられます。その例としては以下が挙げられます。

  • Post.types
  • UserAction.types
  • Notification.types
  • NotificationLevels.all
  • UserOption.email_level_types

これを進める場合、ドキュメントの最適な場所がどこになるか確信が持てません。おそらく https://docs.discourse.org/ が候補ですが、技術的な問題が発生する可能性もあります。

@simon さん、ありがとうございます!はい、数値コードに対応する英語名や一言の説明をリスト化するのは非常に役立ちます。このリクエストを提出できる場所はありますか?

これらのフィールドのドキュメント化が必要であることに同意します。このトピックを自分で割り当て、確実に実施されるようにします。