Bigcommerce php api在初始应用安装

时间:2016-12-17 14:32:33

标签: bigcommerce

我正在尝试使用官方Bigcommerce php库为oAuth访问api初始安装BigCommerce草案应用程序。

出于某些原因,无论我做什么,我都会从帖子中回到BigCommerce api。任何人都可以看到任何可能导致这种情况的事情吗?

感谢您的任何建议

<?php

require_once ('vendor/autoload.php');

use Bigcommerce\Api\Connection as Connection;
use Bigcommerce\Api\Client as Bigcommerce;

error_reporting(E_ALL);
ini_set('display_errors', 'on');

$client_id = "*******";
$client_secret = "*******";

if (count($_GET)) {

    $code = $_GET['code'];
    $context = $_GET['context'];
    $scope = $_GET['scope'];

    $url = "https://login.bigcommerce.com/oauth2/token";

    $connection = new Connection();
    $connection->useUrlencoded();

    $connection->verifyPeer(false);

    $response = $connection->post($url, array(
    "client_id" => $client_id,
    "client_secret" => $client_secret,
    "redirect_uri" => "https://www.*******.com/bc-auth.php",
    "grant_type" => "authorization_code",
    "code" => $code,
    "scope" => $scope,
    "context" => $context));

    if (is_null($response)) {
        print "Last Error:\n";
        print "<pre>";
        print_r(Bigcommerce::getLastError());
        print "</pre>";
        exit();
    }

    $token = $response->access_token;

    die($token); // this is just for testing
}

1 个答案:

答案 0 :(得分:0)

尝试通过cURL,papi ..发表您自己的POST请求。

// Prepare POST Data:
$postFields = array(
    'client_id'         =>      urlencode($client_id),
    'client_secret'     =>      urlencode($client_secret),
    'code'              =>      urlencode($code),
    'scope'             =>      urlencode($scope),
    'grant_type'        =>      urlencode('authorization_code'),
    'redirect_uri'      =>      urlencode("https://www.*******.com/bc-auth.php"),
    'context'           =>      urlencode($context)
);

// Format data for Post:
$fields_string = '';
foreach($postFields as $key=>$value) {
    $fields_string .= $key.'='.$value.'&'; 
}
rtrim($fields_string, '&');
$postFields = $fields_string; // Single URL string of post fields
unset($fields_string);       


// ** Curl Config **//
$ch = curl_init(); //open connection
curl_setopt($ch, CURLOPT_URL, "https://login.bigcommerce.com/oauth2/token");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = json_decode(curl_exec($ch));     // execute post! & assign response
curl_close($ch);                 // close connection

删除并插入它而不是此代码:

$connection = new Connection();
$connection->useUrlencoded();

$connection->verifyPeer(false);

$response = $connection->post($url, array(
"client_id" => $client_id,
"client_secret" => $client_secret,
"redirect_uri" => "https://www.*******.com/bc-auth.php",
"grant_type" => "authorization_code",
"code" => $code,
"scope" => $scope,
"context" => $context));