[dependencies.base64]
optional = true
version = "0.22"
[dependencies.chrono]
features = ["serde"]
version = "0.4"
[dependencies.form_urlencoded]
optional = true
version = "1.2"
[dependencies.hmac]
optional = true
version = "0.12"
[dependencies.itertools]
version = "0.14"
[dependencies.oauth2]
optional = true
version = "5"
[dependencies.rand]
optional = true
version = "0.9"
[dependencies.reqwest]
default-features = false
features = ["json", "multipart"]
optional = true
version = "0.12"
[dependencies.serde]
features = ["derive"]
version = "1"
[dependencies.serde_json]
version = "1"
[dependencies.sha1]
optional = true
version = "0.10"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
features = ["time", "io-util", "fs"]
version = "1"
[dependencies.tracing]
version = "0.1"
[dev-dependencies.anyhow]
version = "1"
[dev-dependencies.mockito]
version = "1.7"
[dev-dependencies.tokio]
features = ["macros"]
version = "1"
[features]
default = ["reqwest/default-tls"]
models = []
oauth = ["oauth2"]
oauth10a = ["base64", "hmac", "rand", "sha1", "form_urlencoded"]
retry = []
rustls-tls = ["reqwest/rustls-tls"]
upload = []
[lib]
name = "twapi_v2"
path = "src/lib.rs"
[package]
authors = ["aoyagikouhei <aoyagi.kouhei@gmail.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["api-bindings"]
description = "Twitter API v2 library."
documentation = "https://docs.rs/twapi-v2"
edition = "2021"
keywords = ["twitter", "v2", "api", "client", "oauth"]
license = "MIT"
name = "twapi-v2"
readme = "README.md"
repository = "https://github.com/aoyagikouhei/twapi-v2-rs"
version = "0.19.1"
[package.metadata.docs.rs]
all-features = true
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
features = ["retry", "oauth", "oauth10a", "rustls-tls", "models"]
rustdoc-args = ["--cfg", "docsrs"]
[[test]]
name = "delete_2_lists_id"
path = "tests/delete_2_lists_id.rs"
[[test]]
name = "delete_2_lists_id_members_user_id"
path = "tests/delete_2_lists_id_members_user_id.rs"
[[test]]
name = "delete_2_tweets_id"
path = "tests/delete_2_tweets_id.rs"
[[test]]
name = "delete_2_users_id_bookmarks_tweet_id"
path = "tests/delete_2_users_id_bookmarks_tweet_id.rs"
[[test]]
name = "delete_2_users_id_followed_lists_list_id"
path = "tests/delete_2_users_id_followed_lists_list_id.rs"
[[test]]
name = "delete_2_users_id_likes_tweet_id"
path = "tests/delete_2_users_id_likes_tweet_id.rs"
[[test]]
name = "delete_2_users_id_pinned_lists"
path = "tests/delete_2_users_id_pinned_lists.rs"
[[test]]
name = "delete_2_users_id_retweets_source_tweet_id"
path = "tests/delete_2_users_id_retweets_source_tweet_id.rs"
[[test]]
name = "delete_2_users_source_user_id_blocking_target_user_id"
path = "tests/delete_2_users_source_user_id_blocking_target_user_id.rs"
[[test]]
name = "delete_2_users_source_user_id_following_target_user_id"
path = "tests/delete_2_users_source_user_id_following_target_user_id.rs"
[[test]]
name = "delete_2_users_source_user_id_muting_target_user_id"
path = "tests/delete_2_users_source_user_id_muting_target_user_id.rs"
[[test]]
name = "get_2_compliance_jobs"
path = "tests/get_2_compliance_jobs.rs"
[[test]]
name = "get_2_compliance_jobs_id"
path = "tests/get_2_compliance_jobs_id.rs"
[[test]]
name = "get_2_dm_conversations_dm_conversation_id_dm_events"
path = "tests/get_2_dm_conversations_dm_conversation_id_dm_events.rs"
[[test]]
name = "get_2_dm_conversations_with_participant_id_dm_events"
path = "tests/get_2_dm_conversations_with_participant_id_dm_events.rs"
[[test]]
name = "get_2_dm_events"
path = "tests/get_2_dm_events.rs"
[[test]]
name = "get_2_lists_id"
path = "tests/get_2_lists_id.rs"
[[test]]
name = "get_2_lists_id_followers"
path = "tests/get_2_lists_id_followers.rs"
[[test]]
name = "get_2_lists_id_members"
path = "tests/get_2_lists_id_members.rs"
[[test]]
name = "get_2_lists_id_tweets"
path = "tests/get_2_lists_id_tweets.rs"
[[test]]
name = "get_2_spaces"
path = "tests/get_2_spaces.rs"
[[test]]
name = "get_2_spaces_by_creator_ids"
path = "tests/get_2_spaces_by_creator_ids.rs"
[[test]]
name = "get_2_spaces_id"
path = "tests/get_2_spaces_id.rs"
[[test]]
name = "get_2_spaces_id_buyers"
path = "tests/get_2_spaces_id_buyers.rs"
[[test]]
name = "get_2_spaces_id_tweets"
path = "tests/get_2_spaces_id_tweets.rs"
[[test]]
name = "get_2_spaces_search"
path = "tests/get_2_spaces_search.rs"
[[test]]
name = "get_2_trends_by_woeid_woeid"
path = "tests/get_2_trends_by_woeid_woeid.rs"
[[test]]
name = "get_2_tweets"
path = "tests/get_2_tweets.rs"
[[test]]
name = "get_2_tweets_count_all"
path = "tests/get_2_tweets_count_all.rs"
[[test]]
name = "get_2_tweets_count_recent"
path = "tests/get_2_tweets_count_recent.rs"
[[test]]
name = "get_2_tweets_id"
path = "tests/get_2_tweets_id.rs"
[[test]]
name = "get_2_tweets_id_liking_users"
path = "tests/get_2_tweets_id_liking_users.rs"
[[test]]
name = "get_2_tweets_id_oauth"
path = "tests/get_2_tweets_id_oauth.rs"
[[test]]
name = "get_2_tweets_id_quote_tweets"
path = "tests/get_2_tweets_id_quote_tweets.rs"
[[test]]
name = "get_2_tweets_id_retweeted_by"
path = "tests/get_2_tweets_id_retweeted_by.rs"
[[test]]
name = "get_2_tweets_search_all"
path = "tests/get_2_tweets_search_all.rs"
[[test]]
name = "get_2_tweets_search_recent"
path = "tests/get_2_tweets_search_recent.rs"
[[test]]
name = "get_2_tweets_search_recent_oauth"
path = "tests/get_2_tweets_search_recent_oauth.rs"
[[test]]
name = "get_2_tweets_search_stream_rules"
path = "tests/get_2_tweets_search_stream_rules.rs"
[[test]]
name = "get_2_usage_tweets"
path = "tests/get_2_usage_tweets.rs"
[[test]]
name = "get_2_users"
path = "tests/get_2_users.rs"
[[test]]
name = "get_2_users_by"
path = "tests/get_2_users_by.rs"
[[test]]
name = "get_2_users_by_oauth"
path = "tests/get_2_users_by_oauth.rs"
[[test]]
name = "get_2_users_by_username_username"
path = "tests/get_2_users_by_username_username.rs"
[[test]]
name = "get_2_users_id"
path = "tests/get_2_users_id.rs"
[[test]]
name = "get_2_users_id_blocking"
path = "tests/get_2_users_id_blocking.rs"
[[test]]
name = "get_2_users_id_bookmarks"
path = "tests/get_2_users_id_bookmarks.rs"
[[test]]
name = "get_2_users_id_followed_lists"
path = "tests/get_2_users_id_followed_lists.rs"
[[test]]
name = "get_2_users_id_followers"
path = "tests/get_2_users_id_followers.rs"
[[test]]
name = "get_2_users_id_following"
path = "tests/get_2_users_id_following.rs"
[[test]]
name = "get_2_users_id_liked_tweets"
path = "tests/get_2_users_id_liked_tweets.rs"
[[test]]
name = "get_2_users_id_list_memberships"
path = "tests/get_2_users_id_list_memberships.rs"
[[test]]
name = "get_2_users_id_mentions"
path = "tests/get_2_users_id_mentions.rs"
[[test]]
name = "get_2_users_id_muting"
path = "tests/get_2_users_id_muting.rs"
[[test]]
name = "get_2_users_id_owned_lists"
path = "tests/get_2_users_id_owned_lists.rs"
[[test]]
name = "get_2_users_id_pinned_lists"
path = "tests/get_2_users_id_pinned_lists.rs"
[[test]]
name = "get_2_users_id_timelines_reverse_chronological"
path = "tests/get_2_users_id_timelines_reverse_chronological.rs"
[[test]]
name = "get_2_users_id_tweets"
path = "tests/get_2_users_id_tweets.rs"
[[test]]
name = "get_2_users_id_tweets_oauth"
path = "tests/get_2_users_id_tweets_oauth.rs"
[[test]]
name = "get_2_users_me"
path = "tests/get_2_users_me.rs"
[[test]]
name = "get_2_users_me_oauth"
path = "tests/get_2_users_me_oauth.rs"
[[test]]
name = "get_2_users_oauth"
path = "tests/get_2_users_oauth.rs"
[[test]]
name = "get_2_users_search"
path = "tests/get_2_users_search.rs"
[[test]]
name = "models"
path = "tests/models.rs"
[[test]]
name = "post_2_compliance_jobs"
path = "tests/post_2_compliance_jobs.rs"
[[test]]
name = "post_2_dm_conversations"
path = "tests/post_2_dm_conversations.rs"
[[test]]
name = "post_2_dm_conversations_dm_conversation_id_message"
path = "tests/post_2_dm_conversations_dm_conversation_id_message.rs"
[[test]]
name = "post_2_dm_conversations_with_participant_id_message"
path = "tests/post_2_dm_conversations_with_participant_id_message.rs"
[[test]]
name = "post_2_lists"
path = "tests/post_2_lists.rs"
[[test]]
name = "post_2_lists_id_members"
path = "tests/post_2_lists_id_members.rs"
[[test]]
name = "post_2_oauth2_token_refresh_token"
path = "tests/post_2_oauth2_token_refresh_token.rs"
[[test]]
name = "post_2_tweets"
path = "tests/post_2_tweets.rs"
[[test]]
name = "post_2_tweets_oauth"
path = "tests/post_2_tweets_oauth.rs"
[[test]]
name = "post_2_tweets_search_stream_rules"
path = "tests/post_2_tweets_search_stream_rules.rs"
[[test]]
name = "post_2_users_id_blocking"
path = "tests/post_2_users_id_blocking.rs"
[[test]]
name = "post_2_users_id_bookmarks"
path = "tests/post_2_users_id_bookmarks.rs"
[[test]]
name = "post_2_users_id_followed_lists"
path = "tests/post_2_users_id_followed_lists.rs"
[[test]]
name = "post_2_users_id_following"
path = "tests/post_2_users_id_following.rs"
[[test]]
name = "post_2_users_id_likes"
path = "tests/post_2_users_id_likes.rs"
[[test]]
name = "post_2_users_id_muting"
path = "tests/post_2_users_id_muting.rs"
[[test]]
name = "post_2_users_id_pinned_lists"
path = "tests/post_2_users_id_pinned_lists.rs"
[[test]]
name = "post_2_users_id_retweets"
path = "tests/post_2_users_id_retweets.rs"
[[test]]
name = "post_media_upload"
path = "tests/post_media_upload.rs"
[[test]]
name = "put_2_lists_id"
path = "tests/put_2_lists_id.rs"
[[test]]
name = "put_2_tweets_id_hidden"
path = "tests/put_2_tweets_id_hidden.rs"