Twitter(X)のツイート取得APIの変更
変換されない。
2023/8/16 16:27:13 自分の環境だとCtrl + Shift + Vで貼り付けると変換される
2023-08-20 されない
埋込みが生きているのは確認済み
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),
解読終了
tsconst 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になった
> 数値を表現するために使われる基数を指定する、 2 から 36 までの整数です。既定値は 10 です。
何進数かということか
ちょっとまって! token
に適当な文字列渡しても通っちゃう!
ガバすぎる……なんのためにtoken生成コードがあるんだよ……