説明
chrome.readingList
API を使用して、リーディング リストのアイテムの読み取りと変更を行います。
権限
readingList
リーディング リスト API を使用するには、拡張機能のマニフェスト ファイルに "readingList"
権限を追加します。
manifest.json:
{
"name": "My reading list extension",
...
"permissions": [
"readingList"
]
}
対象
Chrome には、サイドパネルにリーディング リストがあります。ユーザーはウェブページを保存して、後で読んだり、オフラインで読んだりできます。リーディング リスト API を使用して、既存のアイテムを取得し、リストからアイテムを追加または削除します。

コンセプトと使用方法
アイテムの順序
リーディング リスト内のアイテムの順序は保証されません。
アイテムの一意性
アイテムは URL でキー設定されます。これには、ハッシュとクエリ文字列が含まれます。
ユースケース
次のセクションでは、リーディング リスト API の一般的なユースケースをいくつか紹介します。完全な拡張機能の例については、拡張機能のサンプルをご覧ください。
項目を追加
リーディング リストに項目を追加するには、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/"
});
拡張機能のサンプル
リーディング リスト API 拡張機能のデモについては、リーディング リスト API のサンプルをご覧ください。
型
AddEntryOptions
プロパティ
-
hasBeenRead
ブール値
エントリが読み取られた場合は
true
になります。 -
title
文字列
エントリのタイトル。
-
URL
文字列
エントリの URL。
QueryInfo
プロパティ
-
hasBeenRead
ブール値(省略可)
既読(
true
)または未読(false
)のアイテムを検索するかどうかを示します。 -
title
文字列 省略可
検索するタイトル。
-
URL
文字列 省略可
検索する URL。
ReadingListEntry
プロパティ
-
creationTime
数値
エントリが作成された時刻。1970 年 1 月 1 日からのミリ秒単位で記録されます。
-
hasBeenRead
ブール値
エントリが読み取られた場合は
true
になります。 -
lastUpdateTime
数値
エントリが最後に更新された日時。この値は、1970 年 1 月 1 日からのミリ秒数です。
-
title
文字列
エントリのタイトル。
-
URL
文字列
エントリの URL。
RemoveOptions
プロパティ
-
URL
文字列
削除する URL。
UpdateEntryOptions
プロパティ
-
hasBeenRead
ブール値(省略可)
更新された既読ステータス。値が指定されていない場合、既存のステータスはそのままになります。
-
title
文字列 省略可
新しいタイトル。値が指定されていない場合、既存のタイルはそのまま残ります。
-
URL
文字列
更新される URL。
メソッド
addEntry()
chrome.readingList.addEntry(
entry: AddEntryOptions,
): Promise<void>
リーディング リストにエントリが存在しない場合は、エントリを追加します。
パラメータ
-
必要事項を入力します。
リーディング リストに追加するエントリ。
戻り値
-
Promise<void>
query()
chrome.readingList.query(
info: QueryInfo,
): Promise<ReadingListEntry[]>
QueryInfo
プロパティに一致するすべてのエントリを取得します。指定されていないプロパティは照合されません。
パラメータ
-
情報
検索するプロパティ。
戻り値
-
Promise<ReadingListEntry[]>
removeEntry()
chrome.readingList.removeEntry(
info: RemoveOptions,
): Promise<void>
リーディング リストにエントリが存在する場合は、そのエントリを削除します。
パラメータ
-
リーディング リストから削除するエントリ。
戻り値
-
Promise<void>
updateEntry()
chrome.readingList.updateEntry(
info: UpdateEntryOptions,
): Promise<void>
読書リスト エントリが存在する場合は更新します。
パラメータ
-
更新するエントリ。
戻り値
-
Promise<void>
イベント
onEntryAdded
chrome.readingList.onEntryAdded.addListener(
callback: function,
)
ReadingListEntry
がリーディング リストに追加されるとトリガーされます。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(entry: ReadingListEntry) => void
-
必要事項を入力します。
-
onEntryRemoved
chrome.readingList.onEntryRemoved.addListener(
callback: function,
)
ReadingListEntry
がリーディング リストから削除されたときにトリガーされます。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(entry: ReadingListEntry) => void
-
必要事項を入力します。
-
onEntryUpdated
chrome.readingList.onEntryUpdated.addListener(
callback: function,
)
リーディング リストで ReadingListEntry
が更新されたときにトリガーされます。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(entry: ReadingListEntry) => void
-
必要事項を入力します。
-