OAuth2 - 请求访问令牌 - cURL

时间:2013-06-10 10:40:19

标签: curl

经过几个小时的尝试,我无法让它发挥作用。我已经尝试过其他方法,但它们似乎也没有用。我最终改为cURL,因为他们想要一个URL编码的主体。没有按预期工作。

我要做的是提出获取访问令牌的请求。

POST https://api.twitch.tv/kraken/oauth2/token

邮政正文(URL编码):

client_id=[your client ID]
&client_secret=[your client secret]
&grant_type=authorization_code
&redirect_uri=[your registered redirect URI]
&code=[code received from redirect URI]

到目前为止我的代码:

<?php

// cURL resource
$curl = curl_init();

// call code
$usercode = $_GET['code'];

// Set some options - passing in a useragent too here
curl_setopt_array($curl, array(
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_URL => 'https://api.twitch.tv/kraken/oauth2/token',
    CURLOPT_POST => 1,
    CURLOPT_POSTFIELDS => array(
        usercode => $usercode,
        body => 'client_id=91th8b4i2ouxdfn660xojhu1eqfaonu&client_secret=dqhzi4h2k2rnb67bzbno9kva43uwmf9&grant_type=authorization_code&redirect_uri=http://decimo.net/token.php&code=', $usercode
    )
));
// Send request and save response to $response
$response = curl_exec($curl);
// Close request to clear up some resources
curl_close($curl);
?>

希望你能解释我做错了什么,以便学习。 在此先感谢帮助我。

1 个答案:

答案 0 :(得分:0)

根据https://github.com/justintv/Twitch-API/blob/master/RESTful-Integration-Guide.md

“我们不会为绝大多数情况提供密码授予。您需要明确获取twitch的权限才能使用密码凭据流。如果没有我们的明确许可,它将失败并显示错误。”

您必须使用JavaScript API而不是RESTful API。