Я пытаюсь добавить продукт в Google Shopping с помощью cURL. Поэтому я создал учетную запись Google Merchant, настроил доставку, налоги и информацию о компании, а затем - я нажал на «API содержимого», затем нажал на «Аутентификация» и создал ключ (который я не знаю, как использовать).
После прочтения документации я написал это:
$product = [
"offerId" => "123",
"title" => "A name of the product",
"description" => "This is my product description",
"link" => "https://pricerank.eu/produkt/podgrzewacz-do-kubka/",
"imageLink" => "https://cdn.shortpixel.ai/client/q_glossy,ret_img,w_443/https://pricerank.eu/wp-content/uploads/2019/12/coffeheater.png",
"contentLanguage" => "pl",
"targetCountry" => "PL",
"channel" => "online",
"availability" => "in stock",
"condition" => "new",
"gtin" => "5907803400104",
"price" => [
"value" => "2.50",
"currency" => "PLN"
]
];
function AddProduct($product) {
$data = json_encode($product);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.googleapis.com/content/v2/{My merchant ID}/products');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
И я понятия не имею, как следует Я отправляю эти данные. Как использовать oAuth2 в этом случае?
РЕДАКТИРОВАТЬ: я пытался сделать это с https://console.cloud.google.com
function Connect(){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://accounts.google.com/o/oauth2/token');
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$client_id = "####";
$client_secret = "####";
$data = [
"response_type" => 'code',
"client_id" => $client_id,
"client_secret" => $client_secret,
"redirect_uri" => "localhost",
"grant_type" => "authorization_code"
];
$data = json_encode($data);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$res = curl_exec($ch);
var_dump($res);
}
Но ошибка:
string(86) "{ "error": "unsupported_grant_type", "error_description": "Invalid grant_type: " }"