generated at
Twitter(X)のツイート取得APIの変更

takker
変換されない。
2023/8/16 16:27:13 自分の環境だとCtrl + Shift + Vで貼り付けると変換されるyosider
2023-08-20 されない基素dokudami
scrapbox-url-customizerによる変換のほうです。説明不足で失礼しましたtakker
埋込みが生きているのは確認済み
APIが変わったか?
はーん。 token をつけないと何も帰ってこないようにコードが変わったのか
次はこの token を生成しているコードを特定する
見つけた
js
s = i[0], a = i[1], o = i[2], c = i[3], u = function (e) { this.Tweet = function (e) { return { fetch: function (t, r) { return e.get( 'tweet-result', (0, n.Z) ({ }, t, { token: c(o(s(t.id) / 1000000000000000 * a.PI))
t.id はtweet id
2.js
i = [ Number, window.Math, function (e) { return e.toString(Math.pow(6, 2)) }, function (e) { return e.replace(/(0+|\.)/g, '') } ],
js
}), r ).then( ( function (e) { return e && (e.id_str || 'TweetTombstone' === e.__typename) ? Promise.resolve(e) : Promise.reject(new Error('could not parse api response')) } ) ) } } }(e),
解読終了
ts
const token = (id: string): string => (parseInt(id) / 1000000000000000 * Math.PI) .toString(Math.pow(6, 2)) .replace(/(0+|\.)/g, "");
✅テスト
$ ((id) => (parseInt(id) / 1000000000000000 * Math.PI).toString(Math.pow(6, 2)).replace(/(0+|\.)/g, ""))("1110439106041929729")
2owjpclbr6fになった
toString()の引数はなんだろうyosider
> radix 省略可
> 数値を表現するために使われる基数を指定する、 2 から 36 までの整数です。既定値は 10 です。
何進数かということか
ちょっとまって! token に適当な文字列渡しても通っちゃう!
ガバすぎる……なんのためにtoken生成コードがあるんだよ……
wogikazeyosiderSummer498