Я пытаюсь получить токен доступа из BigCommerce. Я следую инструкциям на этой странице: https://developer.bigcommerce.com/apps/callback
Когда я пытаюсь получить токен доступа, я получаю недопустимую ошибку области. Вот код:
public function access_token_get(){ print_r($_GET); $tokenUrl = "https://login.bigcommerce.com/oauth2/token"; $connection = new Connection(); $connection->setCipher('RC4-SHA'); $connection->verifyPeer(false); $response = $connection->post($tokenUrl, array( "client_id" => "123456", "client_secret" => "123456", "redirect_uri" => "https://my-registered-auth-callback.com/", "grant_type" => "authorization_code", "code" => urlencode($_GET['code']), "scope" => urlencode($_GET['scope']), "context" => urlencode($_GET['context']) )); print_r($response); print_r($connection->getLastError()); $token = $response->access_token; print_r($token); }
Когда этот код работает, я получаю пустой $response
. Я добавил getLastError()
чтобы увидеть, что происходит, и выводит:
stdClass Object ( [error] => Invalid scope(s). )
Это параметры, выводимые из запроса GET:
Array ( [code] => 2idy1ozvee8s0ddlbg3jgquzgtr55gd [context] => stores/xxxxxx [scope] => store_v2_orders store_v2_products store_v2_customers store_v2_content store_v2_marketing store_v2_information_read_only users_basic_information )
Почему я должен получать эту ошибку «недопустимые области видимости»? Я также пытался жестко кодировать одну область, чтобы увидеть, работает ли это, например, просто "scope"=>"store_v2_orders"
, но когда я это делаю, я получаю сообщение о том, что область не была предоставлена пользователем.