説明
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
- 必要事項を入力します。
-