1

我正在此页面上尝试本教程:Tictail 外部应用程序教程。根据本教程,应该进行 curl 调用,如下所示:

$ curl 'https://tictail.com/oauth/token' \
    -d 'client_id=YOUR_CLIENT_ID' \
    -d 'client_secret=YOUR_CLIENT_SECRET' \
    -d 'code=CODE' \
    -d 'grant_type=authorization_code'

据我所知,上面的 curl 脚本可以用 PHP 重写,如下所示:

$url = "https://tictail.com/oauth/token";
$url .= "?client_id=" . TT_CLIENT_ID;
$url .= "&client_secret=" . TT_CLIENT_SECRET;
$url .= "&code=" . MY_CODE;
$url .= "&grant_type=authorization_code";

$curl = curl_init();
    curl_setopt_array($curl, array(
        CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_URL => $url
    ));

    $result = curl_exec($curl);
    var_dump($result);  //This gives: string(87) "405: Method Not Allowed" making me think that something wrong with my code. Could someone please confirm? 

抱歉,我是 cURL 的新手。谢谢。

4

1 回答 1

4

我想,你必须将你的数据卷曲为POST,你不能在你的 url 中包含它。将此添加到您的代码中:

$data  = "client_id=" . TT_CLIENT_ID;
$data .= "&client_secret=" . TT_CLIENT_SECRET;
$data .= "&code=" . MY_CODE;
$data .= "&grant_type=authorization_code";

curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
于 2013-11-08T12:11:12.253 回答