chrome.readingList

説明

chrome.readingList API を使用して、リーディング リストのアイテムを読み取り、変更する。

権限

readingList

Reading List API を使用するには、拡張機能の manifest ファイルに "readingList" 権限を追加します。

manifest.json:

{
  "name": "My reading list extension",
  ...
  "permissions": [
    "readingList"
  ]
}

対象

Chrome 120 以降 MV3 以降

Chrome のサイドパネルには、リーディング リストがあります。ウェブページを保存して、後で、またはオフラインで読むことができます。 Reading List API を使用して、既存のアイテムの取得、およびリストのアイテムの追加または削除を行います。

複数の記事が表示されているリーディング リスト
複数の記事が表示されているリーディング リスト

コンセプトと使用方法

商品アイテムの注文

リーディング リストのアイテムの順序は保証されません。

アイテムの一意性

アイテムは URL をキーとしています。これには、ハッシュとクエリ文字列が含まれます。

使用例

以下のセクションでは、Reading List API の一般的なユースケースを示します。拡張機能の詳細な例については、拡張機能のサンプルをご覧ください。

1 つのアイテムを追加する

リーディング リストにアイテムを追加するには、chrome.readingList.addEntry() を使用します。

chrome.readingList.addEntry({
  title: "New to the web platform in September | web.dev",
  url: "https://developer.chrome.com/",
  hasBeenRead: false
});

表示アイテム

リーディング リストのアイテムを表示するには、chrome.readingList.query() メソッドを使用してアイテムを取得します。

const items = await chrome.readingList.query({});

for (const item of items) {
  // Do something do display the item
}

アイテムを既読にする

chrome.readingList.updateEntry() を使用すると、タイトル、URL、既読のステータスを更新できます。次のコードは、アイテムを既読にします。

chrome.readingList.updateEntry({
  url: "https://developer.chrome.com/",
  hasBeenRead: true
});

項目を削除する

アイテムを削除するには、chrome.readingList.removeEntry() を使用します。

chrome.readingList.removeEntry({
  url: "https://developer.chrome.com/"
});

拡張機能のサンプル

Reading List API 拡張機能のデモについて詳しくは、Reading List API のサンプルをご覧ください。

AddEntryOptions

プロパティ

  • hasBeenRead

    boolean

    エントリが読み取られている場合は true になります。

  • title

    文字列

    エントリのタイトル。

  • URL

    文字列

    エントリの URL。

QueryInfo

プロパティ

  • hasBeenRead

    ブール値(省略可)

    既読アイテム(true)と未読アイテム(false)のどちらを検索するかを指定します。

  • title

    string(省略可)

    検索するタイトル。

  • URL

    string(省略可)

    検索する URL。

ReadingListEntry

プロパティ

  • creationTime

    数値

    エントリが作成された時刻。1970 年 1 月 1 日からのミリ秒単位で記録されます。

  • hasBeenRead

    boolean

    エントリが読み取られている場合は true になります。

  • lastUpdateTime

    数値

    エントリが最後に更新された時刻。この値は、1970 年 1 月 1 日からのミリ秒数です。

  • title

    文字列

    エントリのタイトル。

  • URL

    文字列

    エントリの URL。

RemoveOptions

プロパティ

  • URL

    文字列

    削除する URL。

UpdateEntryOptions

プロパティ

  • hasBeenRead

    ブール値(省略可)

    更新された既読のステータス。値が指定されていない場合は、既存のステータスが維持されます。

  • title

    string(省略可)

    新しいタイトル。値が指定されていない場合は、既存のタイルが維持されます。

  • URL

    文字列

    更新される URL。

Methods

addEntry()

Promise
chrome.readingList.addEntry(
  entry: AddEntryOptions,
  callback?: function,
)

エントリが存在しない場合はリーディング リストに追加します。

パラメータ

  • 必要事項を入力します。

    リーディング リストに追加するエントリ。

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    ()=>void

戻り値

  • Promise<void>

    Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されたのと同じ型で解決されます。

query()

Promise
chrome.readingList.query(
  info: QueryInfo,
  callback?: function,
)

QueryInfo プロパティに一致するすべてのエントリを取得します。指定されていない宿泊施設は一致しません。

パラメータ

戻り値

  • Promise<ReadingListEntry[]>

    Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されたのと同じ型で解決されます。

removeEntry()

Promise
chrome.readingList.removeEntry(
  info: RemoveOptions,
  callback?: function,
)

リーディング リストからエントリを削除します(存在する場合)。

パラメータ

  • 情報

    リーディング リストから削除するエントリ。

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    ()=>void

戻り値

  • Promise<void>

    Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されたのと同じ型で解決されます。

updateEntry()

Promise
chrome.readingList.updateEntry(
  info: UpdateEntryOptions,
  callback?: function,
)

リーディング リストのエントリを更新します(存在する場合)。

パラメータ

  • 更新するエントリ。

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    ()=>void

戻り値

  • Promise<void>

    Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されたのと同じ型で解決されます。

イベント

onEntryAdded

chrome.readingList.onEntryAdded.addListener(
  callback: function,
)

ReadingListEntry がリーディング リストに追加されるとトリガーされます。

パラメータ

onEntryRemoved

chrome.readingList.onEntryRemoved.addListener(
  callback: function,
)

ReadingListEntry がリーディング リストから削除されるとトリガーされます。

パラメータ

onEntryUpdated

chrome.readingList.onEntryUpdated.addListener(
  callback: function,
)

リーディング リストで ReadingListEntry が更新されるとトリガーされます。

パラメータ