私の意図は、入力質問のリンクされた質問 ID のリストを取得することです。このために、StackExchange API はリンクされたAPI を提供します。この API は、セミコロンで区切られた質問 ID のリストを引数として受け取ります。
リンクを計算する必要がある質問の総数は約 100 万です。ただし、StackExchange API で許可される最大クォータは 10,000 リクエストのみです。したがって、私の場合、(セミコロンで区切られた) 100 個のバッチ リクエストを一度に送信するのが理想的でした。したがって、1 日で 100*10,000 = 100 万のリンクにアクセスできることになります。
残念ながら、このようなバッチ リクエストの場合、StackExchange API はフラットな JSON レスポンス配列を返すため、どのリンクがどの入力質問に対応しているかを知る方法がありません。たとえば、ID 14266328 の質問は、ID 5598291 と 1917935 の 2 つの質問にリンクされています。一方、質問 14266325 は 3270680 にリンクされています。
ここで、次のリクエストを StackExchange サーバーに送信すると、
http://api.stackexchange.com/2.2/questions/14266328%3B14266325/linked?order=desc&sort=activity&site=stackoverflow&filter=!--KJA8bUDfrh
以下の返事が返ってきました。
{
"items": [
{
"question_id": 3270680
},
{
"question_id": 5598291
},
{
"question_id": 1917935
}
],
"has_more": false,
"quota_max": 10000,
"quota_remaining": 9988
}
問題は、この応答からは、14266328 にリンクされている質問と、他の質問にリンクされている質問を特定する方法がないことです。
一度に 1 つの question_id パラメータのみを送信するという簡単な方法を試しましたが、予想どおり 10,000 リクエスト後にリクエストがブロックされています。