APIに非表示のユーザーカスタムフィールドを追加

:bookmark: このガイドでは、ユーザーカードに表示せずにAPI経由でユーザーカスタムフィールドデータを公開する方法を説明します。

:person_raising_hand: 必要なユーザーレベル:管理者

このガイドでは、ユーザーカードに表示せずにAPI経由でユーザーカスタムフィールドデータにアクセスできるようにするプロセスを説明します。これは、カスタムユーザーデータを一般的な表示から隠したまま、プログラムでアクセスする必要がある場合に役立ちます。

ユーザーカスタムフィールドの作成

  1. まず、ユーザーカスタムフィールドを作成します。詳細な手順については、カスタムユーザーフィールドの作成と設定に関するガイドを参照してください。
  2. カスタムフィールドをセットアップしたら、保存します。

ユーザーカスタムフィールドIDの検索

  1. ブラウザで /admin/config/user-fields.json に移動します。
  2. 新しく作成したカスタムフィールドを見つけて、ID番号をメモします。

APIアクセスの設定

  1. サイトの管理設定に移動します。
  2. public user custom fields または staff user custom fields のいずれかの設定を見つけます。
    • すべてのAPIユーザーがデータにアクセスできるようにしたい場合は、public user custom fields を使用します。
    • スタッフAPIキーのみにアクセスを制限したい場合は、staff user custom fields を使用します。
  3. カスタムフィールドを user_field_X の形式で入力します。ここで、Xは先ほどメモしたID番号です。
    たとえば、カスタムフィールドIDが7の場合、user_field_7 と入力します。

カスタムフィールドデータへのアクセス

設定が完了すると、カスタムフィールドデータは「User Fields」セクションの /u/[USERNAME].json エンドポイントに含まれます。

カスタムフィールド値によるユーザーの検索

APIを使用してカスタムフィールドの値に基づいてユーザーを検索できます。

  1. カスタムフィールドの設定で「searchable」オプションがオンになっていることを確認します。
  2. クエリパラメータを使用して /directory_items.json エンドポイントを使用します。

API呼び出しの例を次に示します。

https://yourdomain.com/directory_items.json?period=weekly&order=likes_received&name=SearchTerm&user_field_ids=1|2
  • user_field_ids: 検索するカスタムフィールドを指定します(例:カスタムフィールドID 5のみを検索するには user_field_ids=5)。
  • name: カスタムフィールド、ユーザー名、および場合によってはフルネームで検索する検索語。

注意:この検索はカスタムフィールド専用ではなく、ユーザー名またはフルネームの一致に基づいて結果を返す可能性もあります。

利用可能なパラメータの詳細については、APIドキュメントを参照してください。

追加リソース

「いいね!」 7

素晴らしい、ありがとうございます!API経由でカスタムフィールドの値を持つユーザーを検索する方法はありますか?

「いいね!」 1

はい、クエリパラメータを使用します。

例:
https://unicyclist.com/directory_items.json?period=weekly&order=likes_received&name=Flansberrium+G29&user_field_ids=1|2

最後のパラメータ user_field_ids=1|2 を変更して、ユーザーカスタムフィールドを検索に制限します。
たとえば、カスタムフィールドID 5のみを検索するには user_field_ids=5 のようにします。

他にも、APIドキュメントで見つけられるいくつかのパラメータがあります(ユーザーフィールドについては言及されていませんが、簡単にAPIをリバースエンジニアリングできます)。

クエリが機能するには、カスタムフィールドに「検索可能」オプションがチェックされている必要があります。

また、クエリはカスタムフィールド のみ を検索するのではなく、ユーザー名やフルネームも検索することに注意してください。カスタムフィールドのみでフィルタリングする組み込み機能はないと思います。

「いいね!」 3