【问题标题】:Problems with Curl in Discord Oauth2Discord Oauth2 中的 Curl 问题
【发布时间】:2019-05-14 11:51:15
【问题描述】:

问题很简单。

当 oAuth2 代码发送到页面时。这个接收令牌 json 的 php 脚本不起作用。请帮帮我:c

$base64 = base64_encode($data['id'] . ':' . $data['secret']);

$info = curl_init();
curl_setopt_array($info, array(
    CURLOPT_URL => "https://discordapp.com/api/oauth2/token?grant_type=authorization_code&code=" . $data['code'] . "&redirect_uri=" . urlencode($data['redirect']),
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Basic " . $base64,                                                                                
        'Content-Length: ' . strlen($base64)
    ),
    CURLOPT_RETURNTRANSFER => true
));

$tinyresult = curl_exec($info);
curl_close($info);

return $tinyresult;

【问题讨论】:

  • 如何它“不起作用”?你得到什么回应? $tinyresult 的值是多少?
  • 结果什么都没有。响应只等待几秒钟来接收一个空页面
  • var_dump($tinyresult) 的输出是什么?这是在函数中吗,因为我注意到您正在使用 return 并且不要对响应执行任何操作,否则在 sn-p 中。
  • 这是一个函数。 var_dump($tinyresult) 返回值 false
  • curl_error 告诉你什么?

标签: php api oauth-2.0 discord


【解决方案1】:

问题解决了:D

    $info = curl_init();

    curl_setopt_array($info, array(
        CURLOPT_URL => "https://discordapp.com/api/oauth2/token",
        CURLOPT_POST => 1,
        CURLOPT_POSTFIELDS => array(
            "grant_type" => "authorization_code",
            "client_id" => $data['id'],
            "client_secret" => $data['secret'],
            "redirect_uri" => $data['redirect'],
            "code" => $data["code"],
        ),
        CURLOPT_RETURNTRANSFER => true,
    ));

    $tinyresult = curl_exec($info);
    if ($tinyresult == false) {
        $tinyerror = curl_error($info);
    } else {
        $tinyerror = null;
        $tinyresult = json_decode($tinyresult);
    }

    $httpcode = curl_getinfo($info, CURLINFO_HTTP_CODE);

    curl_close($info);

    return array(
        "data" => $tinyresult,
        "err" => $tinyerror,
        "state" => $httpcode,
    );

【讨论】:

    猜你喜欢
    • 2020-05-22
    • 2020-10-23
    • 1970-01-01
    • 2021-05-05
    • 2021-09-26
    • 2021-05-26
    • 2022-06-14
    • 2019-09-19
    • 1970-01-01
    相关资源
    最近更新 更多