twitter: temporary fix

we're aiming to automatically generate x-client-transaction-id header. due to a recent change on twitter backend, this header is now required. sadly, its not static, so would propably break again anytime soon
This commit is contained in:
stefanodvx 2025-04-26 19:50:30 +02:00
parent 1b7ed51060
commit a959807524
3 changed files with 4 additions and 3 deletions

View file

@ -119,7 +119,6 @@ func ParseGQLMedia(
}) })
case "GraphImage", "XDTGraphImage": case "GraphImage", "XDTGraphImage":
media.AddFormat(&models.MediaFormat{ media.AddFormat(&models.MediaFormat{
FormatID: "image", FormatID: "image",
Type: enums.MediaTypePhoto, Type: enums.MediaTypePhoto,

View file

@ -15,8 +15,9 @@ import (
) )
const ( const (
apiHostname = "x.com" apiHostname = "x.com"
apiEndpoint = "https://x.com/i/api/graphql/zZXycP0V6H7m-2r0mOnFcA/TweetDetail" apiEndpoint = "https://x.com/i/api/graphql/zZXycP0V6H7m-2r0mOnFcA/TweetDetail"
transactionID = "H/HJB3naILIqzncBBvY50XFL36IYeol67HU4ZlUe8wYvWdn9q7KJf7k2UBKOMwliRmCnohzCodsUCuvWOl9t0Z/wVY3QHA"
) )
var ShortExtractor = &models.Extractor{ var ShortExtractor = &models.Extractor{

View file

@ -33,6 +33,7 @@ func BuildAPIHeaders(cookies []*http.Cookie) map[string]string {
headers := map[string]string{ headers := map[string]string{
"authorization": "Bearer " + authToken, "authorization": "Bearer " + authToken,
"user-agent": util.ChromeUA, "user-agent": util.ChromeUA,
"x-client-transaction-id": transactionID,
"x-twitter-auth-type": "OAuth2Session", "x-twitter-auth-type": "OAuth2Session",
"x-twitter-client-language": "en", "x-twitter-client-language": "en",
"x-twitter-active-user": "yes", "x-twitter-active-user": "yes",