Php Shutterstock-灯箱-缺少所需范围错误

Php Shutterstock-灯箱-缺少所需范围错误,php,wordpress,api,rest,oauth-2.0,Php,Wordpress,Api,Rest,Oauth 2.0,我正在尝试从shutterstock获取我的lightbox图像集。我正在使用php(wordpress网站)。为此,我遵循了文档中的示例,但将代码应用于我的应用程序 要获取令牌,我使用以下代码: $client_id = 'My CLIENT ID here.'; $client_secret = 'My client secret there'; $redirect_uri = (isset($_SERVER['HTTPS']) ? 'https' : 'http') . '://' . "

我正在尝试从shutterstock获取我的lightbox图像集。我正在使用php(wordpress网站)。为此,我遵循了文档中的示例,但将代码应用于我的应用程序

要获取令牌,我使用以下代码:

$client_id = 'My CLIENT ID here.';
$client_secret = 'My client secret there';
$redirect_uri = (isset($_SERVER['HTTPS']) ? 'https' : 'http') . '://' . "{$_SERVER['HTTP_HOST']}" . strtok($_SERVER['REQUEST_URI'], '?');
if(isset($_GET['code'])) {
  $url = 'https://accounts.shutterstock.com/oauth/access_token';
  $params = array(
      code => $_GET['code'],
      scope => 'collections.view',
      client_id => $client_id,
      client_secret => $client_secret,
      redirect_uri => $redirect_uri,
      grant_type => 'authorization_code'
  );
  $ch = curl_init($url);
  curl_setopt($ch, CURLOPT_POST, 1);
  curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
  curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  $response = curl_exec($ch);
  curl_close($ch);
  $json = json_decode($response);
  if (json_last_error()) {
    echo '<span style="font-weight:bold;color:red;">Error: ' . $response . '</span>';
  } else {
    $_SESSION['access_token'] = $json->access_token;
  }
但是,我没有请求lightbox信息,而是得到以下错误:

缺少必需的作用域:集合。视图


如您所见,我的参数数组中有scope参数。我遗漏了什么?

在获得不正确的授权后,您正在通过范围

请求访问令牌时传递作用域,请参见下面的案例

只要替换您的凭据并将url复制到浏览器,它肯定会工作。 干杯:)

$url = 'https://api.shutterstock.com/v2/images/collections/33162025/items';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer ' . $this->accessToken));
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response);