0

私の Web アプリには、さまざまな関数で定義されたすべての curl API 呼び出しを持つ function.php があります。

Google ドライブ API v3 呼び出しでユーザー レート制限超過の問題を回避するために、レート制限/バックオフを設定したいと考えています。

functions.php の関数の例:

function copyfilefromyou($id, $token, $folder)
{
    $url = "https://www.googleapis.com/drive/v3/files/$id/copy?supportsAllDrives=true&supportsTeamDrives=true";
    $authorization = "Authorization: Bearer $token";
    $data = array(
        "parents" => [["id" => $folder]],
        'description' => 'Copying your file'
    );
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Content-Type: application/json',
        $authorization
    ));
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
    curl_setopt($ch, CURLOPT_ENCODING, '');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36');
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    $result = curl_exec($ch);
    $json = json_decode($result, true);
    curl_close($ch);
    return $json;
}
4

0 に答える 0