嘗試通過POST數據生成訪問令牌到https://login.bigcommerce.com/oauth2/token時遇到問題。有一個異常錯誤('遠程服務器返回錯誤:(400)錯誤請求')。我不知道爲什麼,但我已經閱讀了文檔https://developer.bigcommerce.com/apps/callback#token在Bigcommerce中生成訪問令牌
如果我在任何Web瀏覽器上打開該URL。它說:「你正在尋找的頁面不存在。」
你能幫我嗎?
謝謝 忠
嘗試通過POST數據生成訪問令牌到https://login.bigcommerce.com/oauth2/token時遇到問題。有一個異常錯誤('遠程服務器返回錯誤:(400)錯誤請求')。我不知道爲什麼,但我已經閱讀了文檔https://developer.bigcommerce.com/apps/callback#token在Bigcommerce中生成訪問令牌
如果我在任何Web瀏覽器上打開該URL。它說:「你正在尋找的頁面不存在。」
你能幫我嗎?
謝謝 忠
嘗試尤斯捲曲
$data = array("client_id" => "sdfgdfgdfkxddfgdfgdfdfgdfgddfgdfg2",
"client_secret" => "sdfgsdfgsdfgsdfgsdfgdf",
"redirect_uri" => "https://youapp.com/oauth",
"grant_type" => "authorization_code",
"code" => $_GET["code"], "scope" => $_REQUEST["scope"], "context" => $_GET["context"],);
$postfields = http_build_query($data);
$ch = curl_init();
$url = "https://login.bigcommerce.com/oauth2/token";
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec ($ch);
curl_close ($ch);
$obj = json_decode($output);
var_dump($obj);
首先,你需要獲得臨時授權碼,但發送GET請求來https://login.bigcommerce.com/oauth2/authorize帶參數的clientId,適用範圍,上下文(「專賣店/ { your_store_hash}「)和redirect_url。
只有在此之後,您才能將臨時令牌更改爲永久令牌(請參閱上一篇帖子)。
這個永久性令牌在30-60天內過期,但我不知道如何在沒有用戶操作的情況下自動更新它。如果你知道,請寫下如何。
如果您收到的POST請求的回覆爲https://login.bigcommerce.com/oauth2/token,則表明您的數據存在問題。最有可能的原因是:
您還沒有包括在你的POST請求以下標題:
Content-Type: application/x-www-form-urlencoded
你是不是URL編碼的POST數據,如下面的例子:
client_id=236754&client_secret=m1ng83993rsq3yxg&code=qr6h3thvbvag2ffq&scope=store_v2_orders&grant_type=authorization_code&redirect_uri=https%3A%2F%2Fapp.example.com%2Foauth%26context%3Dstores%2Fg5cd38&context=stores%2Fabc123
另請注意,您收到的錯誤響應消息正文應包含有關該問題源的更多詳細信息。
如果您已確認以上幾點,那麼可以嘗試給出您的POST數據樣本或關於您對網址進行URL編碼的一些信息。確保不要包含您的實際客戶端ID,客戶端密鑰或重定向URI。