日本時間5月16日のContent Cloud Summitで、カスタムアプリにBox AI APIを活用する方法を紹介します。

詳細を表示

User Eventの取得

User Eventの取得

User Eventを取得するには、任意のユーザーとして認証し、GET /events APIを呼び出します。

cURL
curl -i -X GET "https://api.box.com/2.0/events" \
     -H "authorization: Bearer <ACCESS_TOKEN>"
.NET
BoxEventCollection<BoxEnterpriseEvent> events = await client.EventsManager.UserEventsAsync();
Java
EventStream stream = new EventStream(api);
stream.addListener(new EventListener() {
  public void onEvent(BoxEvent event) {
      // Handle the event.
    }
});
stream.start();
Python
stream_position = 0
events = client.events().get_events(stream_position=stream_position)
stream_position = events['next_stream_position']
for event in events['entries']:
    print(f'Got {event.event_type} event that occurred at {event.created_at}')
Node
client.events.get({stream_position: '1408838928446360'}, callback);

返されるイベントは、APIの作成に使用したアクセストークンを所有するユーザーのみを対象とします。別のユーザーのイベントフィードを取得するには、as-userヘッダーか、そのユーザーの実際のアクセストークンを使用します。

ストリームタイプ

User Event Streamでは、3つのタイプのストリームがサポートされます。

ストリームタイプ
allユーザーに関するすべてのイベントを返します (デフォルト)。
changesファイルの更新やコラボレーションなど、ファイルツリーを変更する可能性があるイベントを返します。
sync変更に似ていますが、同期対象フォルダにのみ適用されます。

匿名ユーザー

場合によっては、イベントフィードには、IDが2のユーザーが表示される可能性があります。これは、匿名ユーザーを表すBoxの内部識別子です。

匿名ユーザーは、ログインしていないユーザーです。この状況は、ユーザーがコンテンツを操作し、最初にログインを求められない場合にいつでも発生する可能性があります。たとえば、ユーザーが、公開共有リンクを使用してファイルをダウンロードするときなどです。

制限

Boxでのイベントの保存は無期限ではありません。

User Eventは2週間から2か月間保存され、その後、保存されたUser Eventは削除されます。Enterprise Eventには、APIを介した場合は1年間、Box管理コンソールのエクスポートされたレポート経由の場合は7年間アクセスできます。

このフィードでは、完全な結果を迅速に返すことを重視しています。つまり、Boxではイベントを複数回または異なる順序で返す可能性があります。重複するイベントは、イベントIDによって識別できます。

Long polling

User Event Streamでは、OPTIONS /events APIを介してLong pollingがサポートされます。

イベントタイプ

ユーザーに対して、以下のイベントがトリガーされます。このリストですべてを網羅しているわけではないため、記載されていないイベントが表示される可能性もあります。

以下のイベントは、すべてのフィードで使用できます。

イベント名説明
ITEM_CREATEフォルダまたはファイルが作成されました。
ITEM_UPLOADフォルダまたはファイルがアップロードされました。
ITEM_MOVEファイルまたはフォルダが移動されました。
ITEM_COPYファイルまたはフォルダがコピーされました。
LOCK_CREATEファイルがロックされました。
LOCK_DESTROYファイルがロック解除されました。ロックされたファイルが削除されると、ソースファイルはnullになります。
ITEM_TRASHファイルまたはフォルダが削除済みとしてマークされました。
ITEM_UNDELETE_VIA_TRASHファイルまたはフォルダがごみ箱から戻されました。
COLLAB_ADD_COLLABORATORコラボレータがフォルダに追加されました。
COLLAB_ROLE_CHANGEコラボレータの役割が変更されました。
COLLAB_INVITE_COLLABORATORコラボレータがフォルダに招待されました。
COLLAB_REMOVE_COLLABORATORコラボレータがフォルダから削除されました。
ITEM_SYNCフォルダが同期対象としてマークされました。
ITEM_UNSYNCフォルダが同期対象のマークを解除されました。
ITEM_RENAMEファイルまたはフォルダの名前が変更されました。
ITEM_MAKE_CURRENT_VERSION前のバージョンのファイルが現在のバージョンに昇格されました。
GROUP_ADD_USERグループへのユーザーの追加
GROUP_REMOVE_USERグループからのユーザーの削除

以下のイベントは、allフィードでのみ使用できます。

イベント名説明
COMMENT_CREATEフォルダ、ファイル、または他のコメントに対するコメントが作成されました。
COMMENT_DELETEフォルダ、ファイル、または他のコメントに対するコメントが削除されました。
ITEM_DOWNLOADファイルまたはフォルダがダウンロードされました。
ITEM_PREVIEWファイルがプレビューされました。
TASK_ASSIGNMENT_CREATEタスクが割り当てられました。
TASK_CREATEタスクが作成されました。
ITEM_SHARED_CREATEファイルまたはフォルダの共有が有効化されました。
ITEM_SHARED_UNSHAREファイルまたはフォルダの共有が無効化されました。
ITEM_SHAREDフォルダが共有されました。
TAG_ITEM_CREATEタグがファイルまたはフォルダに追加されました。
ENABLE_TWO_FACTOR_AUTHユーザーによって2要素認証が有効化されました。
MASTER_INVITE_ACCEPT管理対象ユーザーになるための招待が無料ユーザーによって承認されました。
MASTER_INVITE_REJECT管理対象ユーザーになるための招待が無料ユーザーによって拒否されました。
ACCESS_GRANTEDアカウントに対するBoxのアクセス権限が付与されました。
ACCESS_REVOKEDアカウントに対するBoxのアクセス権限が取り消されました。