Я пытался получить токен доступа из API, предоставляемого индийским Market Flipkart. Если я запустил curl-код в Putty SSH, я могу получить токен доступа. Но если я пытаюсь сделать то же самое с PHP, то даю мне 400 ошибок,
Код, используемый в SSH (This Works)
curl -u appid:appsecret https://api.flipkart.net/oauth-service/oauth/token\?grant_type\=client_credentials\&scope=Seller_Api
Я получаю ответ
{"access_token":"1111-xxxx-22222","token_type":"bearer","expires_in":4926731,"scope":"Seller_Api"}
Но когда я пытаюсь достичь того же, используя PHP Curl (который я узнал только онлайн), я получаю 400 ошибок
Используемый код PHP (это не работает)
<?php
$username='appid';
$password='appsecret';
$url='https://api.flipkart.net/oauth-service/oauth/token\?grant_type\=client_credentials\&scope=Seller_Api';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
$output = curl_exec($ch);
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); //get status code
$info = curl_getinfo($ch);
curl_close($ch);
if(curl_errno($ch)){
echo 'Curl error: ' . curl_error($ch);
}
print_r($output);
echo $status_code;
?>
Нет другого выхода, а не 400 (код состояния), который является плохим запросом.
Я знаю, что я рядом, я не знаю, что я делаю неправильно. Любая помощь будет оценена по достоинству.
PS: вы можете найти API-документы здесь https://seller.flipkart.com/api-docs/FMSAPI.html#third-party-application-integration
Я, наконец, смог решить проблему, url, о котором они упоминали в своих документах, не работает, когда мы пытаемся сделать то же самое, используя php curl.
Фразировка URL-адреса отличается в случае php
Таким образом, URL должен был быть $ url = ' https://api.flipkart.net/oauth-service/oauth/token?grant_type=client_credentials&scope=Seller_Api ';
и вуаля, я получил свой токен доступа.
PS: Пожалуйста, не думайте, что я был нетерпелив и задал вопрос слишком рано, прежде чем оглядываться, это мой второй день, борясь с той же проблемой. Но мне повезло сегодня;)