ブックマークを取得する
1
ユーザー ID を取得する
認証済みのユーザーの ID が必要です。
/2/users/me エンドポイント、または ユーザー lookup エンドポイントから取得できます。2
ブックマークをリクエストする
cURL
curl "https://api.x.com/2/users/2244994945/bookmarks?\
tweet.fields=created_at,public_metrics,author_id&\
max_results=10" \
-H "Authorization: Bearer $USER_ACCESS_TOKEN"
from xdk import Client
client = Client(bearer_token="YOUR_USER_ACCESS_TOKEN")
# ページネーションを使ってブックマーク済みのポストを取得
for page in client.bookmarks.get(
"2244994945",
tweet_fields=["created_at", "public_metrics", "author_id"],
max_results=10
):
for post in page.data:
print(f"{post.text[:50]}... - Likes: {post.public_metrics.like_count}")
import { Client } from "@xdevplatform/xdk";
const client = new Client({ accessToken: "YOUR_USER_ACCESS_TOKEN" });
// ページネーションを使ってブックマーク済みのポストを取得
const paginator = client.bookmarks.get("2244994945", {
tweetFields: ["created_at", "public_metrics", "author_id"],
maxResults: 10,
});
for await (const page of paginator) {
page.data?.forEach((post) => {
console.log(`${post.text?.slice(0, 50)}... - Likes: ${post.public_metrics?.like_count}`);
});
}
3
レスポンスを確認する
{
"data": [
{
"id": "1501258597237342208",
"text": "X API を使って構築したプロジェクトで、コミュニティと共有したいものはありますか?ぜひ教えてください!",
"created_at": "2024-01-15T10:30:00.000Z",
"author_id": "2244994945",
"public_metrics": {
"retweet_count": 15,
"reply_count": 8,
"like_count": 89,
"quote_count": 3
}
},
{
"id": "1501258542258348032",
"text": "これは、開発者のイノベーションが X をより良い場所にする方法の一例にすぎません…",
"created_at": "2024-01-15T09:15:00.000Z",
"author_id": "2244994945",
"public_metrics": {
"retweet_count": 22,
"reply_count": 5,
"like_count": 156,
"quote_count": 7
}
}
],
"meta": {
"result_count": 2,
"next_token": "7140dibdnow9c7btw4539n0vybdnx19ylpayqf16fjt4l"
}
}
投稿者情報を含める
expansions を使用して、ポストの投稿者に関するデータを取得します。
cURL
curl "https://api.x.com/2/users/2244994945/bookmarks?\
tweet.fields=created_at,author_id&\
expansions=author_id&\
user.fields=username,verified" \
-H "Authorization: Bearer $USER_ACCESS_TOKEN"
from xdk import Client
client = Client(bearer_token="YOUR_USER_ACCESS_TOKEN")
# 投稿者情報付きでブックマークを取得
for page in client.bookmarks.get(
"2244994945",
tweet_fields=["created_at", "author_id"],
expansions=["author_id"],
user_fields=["username", "verified"]
):
for post in page.data:
print(f"{post.text[:50]}...")
# 投稿者情報は page.includes.users に含まれています
import { Client } from "@xdevplatform/xdk";
const client = new Client({ accessToken: "YOUR_USER_ACCESS_TOKEN" });
// 投稿者情報付きでブックマークを取得
const paginator = client.bookmarks.get("2244994945", {
tweetFields: ["created_at", "author_id"],
expansions: ["author_id"],
userFields: ["username", "verified"],
});
for await (const page of paginator) {
page.data?.forEach((post) => {
console.log(`${post.text?.slice(0, 50)}...`);
});
// 投稿者情報は page.includes?.users に含まれています
}
必要なスコープ
| Scope | Description |
|---|---|
bookmark.read | ブックマークの読み取り |
tweet.read | ポストのデータの読み取り |
users.read | ユーザーデータの読み取り (expansions 用) |
次のステップ
ブックマークを管理
ブックマークを追加・削除する
APIリファレンス
エンドポイントの詳細なドキュメント