1
Fork 0
mirror of https://github.com/thegeneralist01/twitter-openapi synced 2026-01-11 15:40:26 +01:00
Signed-off-by: ふぁ <yuki@yuki0311.com>
This commit is contained in:
ふぁ 2023-07-09 23:50:11 +09:00
parent 7d6a4d89bd
commit aac526e3d9
No known key found for this signature in database
GPG key ID: 83A8A5E74872A8AA
6 changed files with 635 additions and 6 deletions

View file

@ -84,6 +84,8 @@ paths:
$ref: ./paths/tweet.yaml#/paths/~1graphql~1{pathQueryId}~1Favoriters $ref: ./paths/tweet.yaml#/paths/~1graphql~1{pathQueryId}~1Favoriters
/graphql/{pathQueryId}/Followers: /graphql/{pathQueryId}/Followers:
$ref: ./paths/follow.yaml#/paths/~1graphql~1{pathQueryId}~1Followers $ref: ./paths/follow.yaml#/paths/~1graphql~1{pathQueryId}~1Followers
/graphql/{pathQueryId}/FollowersYouKnow:
$ref: ./paths/follow.yaml#/paths/~1graphql~1{pathQueryId}~1FollowersYouKnow
/graphql/{pathQueryId}/Following: /graphql/{pathQueryId}/Following:
$ref: ./paths/follow.yaml#/paths/~1graphql~1{pathQueryId}~1Following $ref: ./paths/follow.yaml#/paths/~1graphql~1{pathQueryId}~1Following
/graphql/{pathQueryId}/HomeLatestTimeline: /graphql/{pathQueryId}/HomeLatestTimeline:
@ -98,6 +100,8 @@ paths:
$ref: ./paths/profile.yaml#/paths/~1graphql~1{pathQueryId}~1ProfileSpotlightsQuery $ref: ./paths/profile.yaml#/paths/~1graphql~1{pathQueryId}~1ProfileSpotlightsQuery
/graphql/{pathQueryId}/Retweeters: /graphql/{pathQueryId}/Retweeters:
$ref: ./paths/tweet.yaml#/paths/~1graphql~1{pathQueryId}~1Retweeters $ref: ./paths/tweet.yaml#/paths/~1graphql~1{pathQueryId}~1Retweeters
/graphql/{pathQueryId}/SearchTimeline:
$ref: ./paths/timeline.yaml#/paths/~1graphql~1{pathQueryId}~1SearchTimeline
/graphql/{pathQueryId}/TweetDetail: /graphql/{pathQueryId}/TweetDetail:
$ref: ./paths/tweet.yaml#/paths/~1graphql~1{pathQueryId}~1TweetDetail $ref: ./paths/tweet.yaml#/paths/~1graphql~1{pathQueryId}~1TweetDetail
/graphql/{pathQueryId}/UnfavoriteTweet: /graphql/{pathQueryId}/UnfavoriteTweet:

View file

@ -120,6 +120,97 @@ paths:
type: string type: string
tags: tags:
- user-list - user-list
/graphql/{pathQueryId}/FollowersYouKnow:
get:
description: get followers you know
operationId: getFollowersYouKnow
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: W9Iz6TVLymzCWjG2uOFKZg
example: W9Iz6TVLymzCWjG2uOFKZg
type: string
- in: query
name: variables
required: true
schema:
default: '{"userId": "44196397", "count": 20, "includePromotedContent":
false}'
example: '{"userId": "44196397", "count": 20, "includePromotedContent":
false}'
type: string
- in: query
name: features
required: true
schema:
default: '{"rweb_lists_timeline_redesign_enabled": true, "responsive_web_graphql_exclude_directive_enabled":
true, "verified_phone_label_enabled": false, "creator_subscriptions_tweet_preview_api_enabled":
true, "responsive_web_graphql_timeline_navigation_enabled": true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_enabled": true, "responsive_web_edit_tweet_api_enabled":
true, "graphql_is_translatable_rweb_tweet_is_translatable_enabled": true,
"view_counts_everywhere_api_enabled": true, "longform_notetweets_consumption_enabled":
true, "responsive_web_twitter_article_tweet_consumption_enabled": false,
"tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
true, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
true, "longform_notetweets_rich_text_read_enabled": true, "longform_notetweets_inline_media_enabled":
true, "responsive_web_media_download_video_enabled": false, "responsive_web_enhance_cards_enabled":
false}'
example: '{"rweb_lists_timeline_redesign_enabled": true, "responsive_web_graphql_exclude_directive_enabled":
true, "verified_phone_label_enabled": false, "creator_subscriptions_tweet_preview_api_enabled":
true, "responsive_web_graphql_timeline_navigation_enabled": true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_enabled": true, "responsive_web_edit_tweet_api_enabled":
true, "graphql_is_translatable_rweb_tweet_is_translatable_enabled": true,
"view_counts_everywhere_api_enabled": true, "longform_notetweets_consumption_enabled":
true, "responsive_web_twitter_article_tweet_consumption_enabled": false,
"tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
true, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
true, "longform_notetweets_rich_text_read_enabled": true, "longform_notetweets_inline_media_enabled":
true, "responsive_web_media_download_video_enabled": false, "responsive_web_enhance_cards_enabled":
false}'
type: string
- in: query
name: fieldToggles
required: true
schema:
default: '{"withArticleRichContentState": false}'
example: '{"withArticleRichContentState": false}'
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/FollowResponse'
description: Successful operation
headers:
x-connection-hash:
schema:
type: string
x-rate-limit-limit:
schema:
type: integer
x-rate-limit-remaining:
schema:
type: integer
x-rate-limit-reset:
schema:
type: integer
x-response-time:
schema:
type: integer
x-tfe-preserve-body:
schema:
type: boolean
x-transaction-id:
schema:
type: string
x-twitter-response-tags:
schema:
type: string
tags:
- user-list
/graphql/{pathQueryId}/Following: /graphql/{pathQueryId}/Following:
get: get:
description: get user list of following description: get user list of following

View file

@ -12,6 +12,12 @@ components:
$ref: '#/components/schemas/HomeTimelineHome' $ref: '#/components/schemas/HomeTimelineHome'
required: required:
- home - home
ListLatestTweetsTimelineResponse:
properties:
data:
$ref: '#/components/schemas/ListTweetsTimelineData'
required:
- data
ListTweetsTimeline: ListTweetsTimeline:
properties: properties:
timeline: timeline:
@ -30,10 +36,28 @@ components:
$ref: '#/components/schemas/ListTweetsTimeline' $ref: '#/components/schemas/ListTweetsTimeline'
required: required:
- tweets_timeline - tweets_timeline
ListTweetsTimelineResponse: SearchByRawQuery:
properties:
search_timeline:
$ref: '#/components/schemas/SearchTimeline'
required:
- search_timeline
SearchTimeline:
properties:
timeline:
$ref: ./../schemas/timeline.yaml#/components/schemas/Timeline
required:
- timeline
SearchTimelineData:
properties:
search_by_raw_query:
$ref: '#/components/schemas/SearchByRawQuery'
required:
- search_by_raw_query
SearchTimelineResponse:
properties: properties:
data: data:
$ref: '#/components/schemas/ListTweetsTimelineData' $ref: '#/components/schemas/SearchTimelineData'
required: required:
- data - data
TimelineResponse: TimelineResponse:
@ -262,7 +286,98 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: '#/components/schemas/ListTweetsTimelineResponse' $ref: '#/components/schemas/ListLatestTweetsTimelineResponse'
description: Successful operation
headers:
x-connection-hash:
schema:
type: string
x-rate-limit-limit:
schema:
type: integer
x-rate-limit-remaining:
schema:
type: integer
x-rate-limit-reset:
schema:
type: integer
x-response-time:
schema:
type: integer
x-tfe-preserve-body:
schema:
type: boolean
x-transaction-id:
schema:
type: string
x-twitter-response-tags:
schema:
type: string
tags:
- tweet
/graphql/{pathQueryId}/SearchTimeline:
get:
description: search tweet list. product:[Top, Latest, People, Photos, Videos]
operationId: getSearchTimeline
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: L1VfBERtzc3VkBBT0YAYHA
example: L1VfBERtzc3VkBBT0YAYHA
type: string
- in: query
name: variables
required: true
schema:
default: '{"rawQuery": "elonmusk", "count": 20, "querySource": "typed_query",
"product": "Top"}'
example: '{"rawQuery": "elonmusk", "count": 20, "querySource": "typed_query",
"product": "Top"}'
type: string
- in: query
name: features
required: true
schema:
default: '{"rweb_lists_timeline_redesign_enabled": true, "responsive_web_graphql_exclude_directive_enabled":
true, "verified_phone_label_enabled": false, "creator_subscriptions_tweet_preview_api_enabled":
true, "responsive_web_graphql_timeline_navigation_enabled": true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_enabled": true, "responsive_web_edit_tweet_api_enabled":
true, "graphql_is_translatable_rweb_tweet_is_translatable_enabled": true,
"view_counts_everywhere_api_enabled": true, "longform_notetweets_consumption_enabled":
true, "responsive_web_twitter_article_tweet_consumption_enabled": false,
"tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
true, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
true, "longform_notetweets_rich_text_read_enabled": true, "longform_notetweets_inline_media_enabled":
true, "responsive_web_media_download_video_enabled": false, "responsive_web_enhance_cards_enabled":
false}'
example: '{"rweb_lists_timeline_redesign_enabled": true, "responsive_web_graphql_exclude_directive_enabled":
true, "verified_phone_label_enabled": false, "creator_subscriptions_tweet_preview_api_enabled":
true, "responsive_web_graphql_timeline_navigation_enabled": true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_enabled": true, "responsive_web_edit_tweet_api_enabled":
true, "graphql_is_translatable_rweb_tweet_is_translatable_enabled": true,
"view_counts_everywhere_api_enabled": true, "longform_notetweets_consumption_enabled":
true, "responsive_web_twitter_article_tweet_consumption_enabled": false,
"tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
true, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
true, "longform_notetweets_rich_text_read_enabled": true, "longform_notetweets_inline_media_enabled":
true, "responsive_web_media_download_video_enabled": false, "responsive_web_enhance_cards_enabled":
false}'
type: string
- in: query
name: fieldToggles
required: true
schema:
default: '{"withArticleRichContentState": false}'
example: '{"withArticleRichContentState": false}'
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SearchTimelineResponse'
description: Successful operation description: Successful operation
headers: headers:
x-connection-hash: x-connection-hash:

View file

@ -84,6 +84,8 @@ paths:
$ref: ./paths/tweet.yaml#/paths/~1graphql~1{pathQueryId}~1Favoriters $ref: ./paths/tweet.yaml#/paths/~1graphql~1{pathQueryId}~1Favoriters
/graphql/{pathQueryId}/Followers: /graphql/{pathQueryId}/Followers:
$ref: ./paths/follow.yaml#/paths/~1graphql~1{pathQueryId}~1Followers $ref: ./paths/follow.yaml#/paths/~1graphql~1{pathQueryId}~1Followers
/graphql/{pathQueryId}/FollowersYouKnow:
$ref: ./paths/follow.yaml#/paths/~1graphql~1{pathQueryId}~1FollowersYouKnow
/graphql/{pathQueryId}/Following: /graphql/{pathQueryId}/Following:
$ref: ./paths/follow.yaml#/paths/~1graphql~1{pathQueryId}~1Following $ref: ./paths/follow.yaml#/paths/~1graphql~1{pathQueryId}~1Following
/graphql/{pathQueryId}/HomeLatestTimeline: /graphql/{pathQueryId}/HomeLatestTimeline:
@ -98,6 +100,8 @@ paths:
$ref: ./paths/profile.yaml#/paths/~1graphql~1{pathQueryId}~1ProfileSpotlightsQuery $ref: ./paths/profile.yaml#/paths/~1graphql~1{pathQueryId}~1ProfileSpotlightsQuery
/graphql/{pathQueryId}/Retweeters: /graphql/{pathQueryId}/Retweeters:
$ref: ./paths/tweet.yaml#/paths/~1graphql~1{pathQueryId}~1Retweeters $ref: ./paths/tweet.yaml#/paths/~1graphql~1{pathQueryId}~1Retweeters
/graphql/{pathQueryId}/SearchTimeline:
$ref: ./paths/timeline.yaml#/paths/~1graphql~1{pathQueryId}~1SearchTimeline
/graphql/{pathQueryId}/TweetDetail: /graphql/{pathQueryId}/TweetDetail:
$ref: ./paths/tweet.yaml#/paths/~1graphql~1{pathQueryId}~1TweetDetail $ref: ./paths/tweet.yaml#/paths/~1graphql~1{pathQueryId}~1TweetDetail
/graphql/{pathQueryId}/UnfavoriteTweet: /graphql/{pathQueryId}/UnfavoriteTweet:

View file

@ -212,6 +212,199 @@ paths:
type: string type: string
tags: tags:
- user-list - user-list
/graphql/{pathQueryId}/FollowersYouKnow:
get:
description: get followers you know
operationId: getFollowersYouKnow
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: W9Iz6TVLymzCWjG2uOFKZg
example: W9Iz6TVLymzCWjG2uOFKZg
type: string
- content:
application/json:
schema:
properties:
count:
default: 20
example: 20
type: integer
includePromotedContent:
default: false
example: false
type: boolean
userId:
default: '44196397'
example: '44196397'
type: string
required:
- userId
- count
- includePromotedContent
type: object
in: query
name: variables
required: true
- content:
application/json:
schema:
properties:
creator_subscriptions_tweet_preview_api_enabled:
default: true
example: true
type: boolean
freedom_of_speech_not_reach_fetch_enabled:
default: true
example: true
type: boolean
graphql_is_translatable_rweb_tweet_is_translatable_enabled:
default: true
example: true
type: boolean
longform_notetweets_consumption_enabled:
default: true
example: true
type: boolean
longform_notetweets_inline_media_enabled:
default: true
example: true
type: boolean
longform_notetweets_rich_text_read_enabled:
default: true
example: true
type: boolean
responsive_web_edit_tweet_api_enabled:
default: true
example: true
type: boolean
responsive_web_enhance_cards_enabled:
default: false
example: false
type: boolean
responsive_web_graphql_exclude_directive_enabled:
default: true
example: true
type: boolean
responsive_web_graphql_skip_user_profile_image_extensions_enabled:
default: false
example: false
type: boolean
responsive_web_graphql_timeline_navigation_enabled:
default: true
example: true
type: boolean
responsive_web_media_download_video_enabled:
default: false
example: false
type: boolean
responsive_web_twitter_article_tweet_consumption_enabled:
default: false
example: false
type: boolean
rweb_lists_timeline_redesign_enabled:
default: true
example: true
type: boolean
standardized_nudges_misinfo:
default: true
example: true
type: boolean
tweet_awards_web_tipping_enabled:
default: false
example: false
type: boolean
tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled:
default: true
example: true
type: boolean
tweetypie_unmention_optimization_enabled:
default: true
example: true
type: boolean
verified_phone_label_enabled:
default: false
example: false
type: boolean
view_counts_everywhere_api_enabled:
default: true
example: true
type: boolean
required:
- rweb_lists_timeline_redesign_enabled
- responsive_web_graphql_exclude_directive_enabled
- verified_phone_label_enabled
- creator_subscriptions_tweet_preview_api_enabled
- responsive_web_graphql_timeline_navigation_enabled
- responsive_web_graphql_skip_user_profile_image_extensions_enabled
- tweetypie_unmention_optimization_enabled
- responsive_web_edit_tweet_api_enabled
- graphql_is_translatable_rweb_tweet_is_translatable_enabled
- view_counts_everywhere_api_enabled
- longform_notetweets_consumption_enabled
- responsive_web_twitter_article_tweet_consumption_enabled
- tweet_awards_web_tipping_enabled
- freedom_of_speech_not_reach_fetch_enabled
- standardized_nudges_misinfo
- tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled
- longform_notetweets_rich_text_read_enabled
- longform_notetweets_inline_media_enabled
- responsive_web_media_download_video_enabled
- responsive_web_enhance_cards_enabled
type: object
in: query
name: features
required: true
- content:
application/json:
schema:
properties:
withArticleRichContentState:
default: false
example: false
type: boolean
required:
- withArticleRichContentState
type: object
in: query
name: fieldToggles
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/FollowResponse'
description: Successful operation
headers:
x-connection-hash:
schema:
type: string
x-rate-limit-limit:
schema:
type: integer
x-rate-limit-remaining:
schema:
type: integer
x-rate-limit-reset:
schema:
type: integer
x-response-time:
schema:
type: integer
x-tfe-preserve-body:
schema:
type: boolean
x-transaction-id:
schema:
type: string
x-twitter-response-tags:
schema:
type: string
tags:
- user-list
/graphql/{pathQueryId}/Following: /graphql/{pathQueryId}/Following:
get: get:
description: get user list of following description: get user list of following

View file

@ -12,6 +12,12 @@ components:
$ref: '#/components/schemas/HomeTimelineHome' $ref: '#/components/schemas/HomeTimelineHome'
required: required:
- home - home
ListLatestTweetsTimelineResponse:
properties:
data:
$ref: '#/components/schemas/ListTweetsTimelineData'
required:
- data
ListTweetsTimeline: ListTweetsTimeline:
properties: properties:
timeline: timeline:
@ -30,10 +36,28 @@ components:
$ref: '#/components/schemas/ListTweetsTimeline' $ref: '#/components/schemas/ListTweetsTimeline'
required: required:
- tweets_timeline - tweets_timeline
ListTweetsTimelineResponse: SearchByRawQuery:
properties:
search_timeline:
$ref: '#/components/schemas/SearchTimeline'
required:
- search_timeline
SearchTimeline:
properties:
timeline:
$ref: ./../schemas/timeline.yaml#/components/schemas/Timeline
required:
- timeline
SearchTimelineData:
properties:
search_by_raw_query:
$ref: '#/components/schemas/SearchByRawQuery'
required:
- search_by_raw_query
SearchTimelineResponse:
properties: properties:
data: data:
$ref: '#/components/schemas/ListTweetsTimelineData' $ref: '#/components/schemas/SearchTimelineData'
required: required:
- data - data
TimelineResponse: TimelineResponse:
@ -550,7 +574,205 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: '#/components/schemas/ListTweetsTimelineResponse' $ref: '#/components/schemas/ListLatestTweetsTimelineResponse'
description: Successful operation
headers:
x-connection-hash:
schema:
type: string
x-rate-limit-limit:
schema:
type: integer
x-rate-limit-remaining:
schema:
type: integer
x-rate-limit-reset:
schema:
type: integer
x-response-time:
schema:
type: integer
x-tfe-preserve-body:
schema:
type: boolean
x-transaction-id:
schema:
type: string
x-twitter-response-tags:
schema:
type: string
tags:
- tweet
/graphql/{pathQueryId}/SearchTimeline:
get:
description: search tweet list. product:[Top, Latest, People, Photos, Videos]
operationId: getSearchTimeline
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: L1VfBERtzc3VkBBT0YAYHA
example: L1VfBERtzc3VkBBT0YAYHA
type: string
- content:
application/json:
schema:
properties:
count:
default: 20
example: 20
type: integer
product:
default: Top
example: Top
type: string
querySource:
default: typed_query
example: typed_query
type: string
rawQuery:
default: elonmusk
example: elonmusk
type: string
required:
- rawQuery
- count
- querySource
- product
type: object
in: query
name: variables
required: true
- content:
application/json:
schema:
properties:
creator_subscriptions_tweet_preview_api_enabled:
default: true
example: true
type: boolean
freedom_of_speech_not_reach_fetch_enabled:
default: true
example: true
type: boolean
graphql_is_translatable_rweb_tweet_is_translatable_enabled:
default: true
example: true
type: boolean
longform_notetweets_consumption_enabled:
default: true
example: true
type: boolean
longform_notetweets_inline_media_enabled:
default: true
example: true
type: boolean
longform_notetweets_rich_text_read_enabled:
default: true
example: true
type: boolean
responsive_web_edit_tweet_api_enabled:
default: true
example: true
type: boolean
responsive_web_enhance_cards_enabled:
default: false
example: false
type: boolean
responsive_web_graphql_exclude_directive_enabled:
default: true
example: true
type: boolean
responsive_web_graphql_skip_user_profile_image_extensions_enabled:
default: false
example: false
type: boolean
responsive_web_graphql_timeline_navigation_enabled:
default: true
example: true
type: boolean
responsive_web_media_download_video_enabled:
default: false
example: false
type: boolean
responsive_web_twitter_article_tweet_consumption_enabled:
default: false
example: false
type: boolean
rweb_lists_timeline_redesign_enabled:
default: true
example: true
type: boolean
standardized_nudges_misinfo:
default: true
example: true
type: boolean
tweet_awards_web_tipping_enabled:
default: false
example: false
type: boolean
tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled:
default: true
example: true
type: boolean
tweetypie_unmention_optimization_enabled:
default: true
example: true
type: boolean
verified_phone_label_enabled:
default: false
example: false
type: boolean
view_counts_everywhere_api_enabled:
default: true
example: true
type: boolean
required:
- rweb_lists_timeline_redesign_enabled
- responsive_web_graphql_exclude_directive_enabled
- verified_phone_label_enabled
- creator_subscriptions_tweet_preview_api_enabled
- responsive_web_graphql_timeline_navigation_enabled
- responsive_web_graphql_skip_user_profile_image_extensions_enabled
- tweetypie_unmention_optimization_enabled
- responsive_web_edit_tweet_api_enabled
- graphql_is_translatable_rweb_tweet_is_translatable_enabled
- view_counts_everywhere_api_enabled
- longform_notetweets_consumption_enabled
- responsive_web_twitter_article_tweet_consumption_enabled
- tweet_awards_web_tipping_enabled
- freedom_of_speech_not_reach_fetch_enabled
- standardized_nudges_misinfo
- tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled
- longform_notetweets_rich_text_read_enabled
- longform_notetweets_inline_media_enabled
- responsive_web_media_download_video_enabled
- responsive_web_enhance_cards_enabled
type: object
in: query
name: features
required: true
- content:
application/json:
schema:
properties:
withArticleRichContentState:
default: false
example: false
type: boolean
required:
- withArticleRichContentState
type: object
in: query
name: fieldToggles
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SearchTimelineResponse'
description: Successful operation description: Successful operation
headers: headers:
x-connection-hash: x-connection-hash: