Google Shopping API - Добавление товара с помощью cURL - PullRequest
0 голосов
/ 11 января 2020

Я пытаюсь добавить продукт в 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: " }"
...