【问题标题】:Patreon API not getting access token or refresh token after receiving code in PHPPatreon API 在 PHP 中接收代码后未获取访问令牌或刷新令牌
【发布时间】:2021-08-20 20:45:12
【问题描述】:

我正在尝试在一个项目中实现 Patreon API,但遇到了障碍。在被重定向回我的站点后,我能够登录并接收授权码,但由于某种原因,其中应该包含访问和刷新令牌的数组为空。

我通过作曲家https://packagist.org/packages/patreon/patreon使用patreon包

所以我的代码顶部似乎工作正常。但是,以防我完全失明,这是我将其包括在内的问题。


$client_id = 'xxxxxxxxxx';      // Replace with your data
$client_secret = 'xxxxxxxxx';  // Replace with your data


$redirect_uri = "http://localhost/Final%20API/thankyou.php"; 

// Generate the oAuth url

$href = 'https://www.patreon.com/oauth2/authorize?response_type=code&client_id=' . $client_id . '&redirect_uri=' . urlencode($redirect_uri);


$state = array();
 


$state['final_page'] = 'http://localhost/Final%20API/'; 

$state_parameters = '&state=' . urlencode( base64_encode( json_encode( $state ) ) );

// Append it to the url

$href .= $state_parameters;


$scope_parameters = '&scope=identity%20identity'.urlencode('[email]');

$href .= $scope_parameters;

echo '<a href="'.$href.'">Click here to login via Patreon</a>';

Notice: Trying to access array offset on value of type null in C:\MAMP\htdocs\patreon3.php on line 69

Notice: Trying to access array offset on value of type null in C:\MAMP\htdocs\patreon3.php on line 70

我得到了返回的 code=,所以我试图用它来获取我的令牌,但我空手而归,我不知道我在这里做错了什么。

if ( $_GET['code'] != '' ) {
    $code = $_GET['code'];
    $oauth_client = new OAuth($client_id, $client_secret);  

    $tokens = $oauth_client->get_tokens($code, $redirect_uri);
    
    $access_token = $tokens['access_token'];
    $refresh_token = $tokens['refresh_token'];

我认为症结在于 if 语句是否正确?如果是这样,我该怎么做才能理顺它?

【问题讨论】:

  • 但是你为什么不告诉我们第 69-70 行是什么?坦率地说……在http://localhost 上,除非设置了 DNS 和 NAT,否则您永远不会看到在线网络服务器回传。
  • 对不起,关于那个。这是第 69 和 70 行 $access_token = $tokens['access_token']; $refresh_token = $tokens['refresh_token'];感谢您回复我有关本地主机的信息。我会马上调查的。

标签: php patreon


【解决方案1】:

你能检查一下 $tokens 里面有什么吗?
在此行之后
$tokens = $oauth_client-&gt;get_tokens($code, $redirect_uri);

添加这个
var_dump($tokens); 你可能会遇到一些错误

【讨论】:

    猜你喜欢
    • 2015-11-28
    • 1970-01-01
    • 2018-03-02
    • 2013-06-14
    • 2015-07-19
    • 2017-03-22
    • 1970-01-01
    • 2014-07-15
    • 1970-01-01
    相关资源
    最近更新 更多