Najczęstsze pytania

W tej sekcji znajdziesz odpowiedzi na najczęstsze pytania dotyczące rejestracji deweloperów w interfejsie Merchant API.

Rejestracja ogólna

Najczęstsze pytania dotyczące procesu rejestracji:

Czy rejestracja dewelopera jest obowiązkowa, aby można było korzystać z interfejsu Merchant API?

Tak. Musisz zarejestrować swoje dane kontaktowe dewelopera, abyśmy mogli przesyłać Ci ważne informacje o interfejsie API, takie jak powiadomienia o usługach i informacje o nowych funkcjach.

Jeśli chcesz tylko poznać i przetestować interfejs Merchant API, możesz użyć narzędzi takich jak Google OAuth Playground i API Explorer, które nie wymagają rejestracji.

Jak często muszę się rejestrować?

Rejestracja to jednorazowa konfiguracja każdego projektu Google Cloud. Niezależnie od tego, czy korzystasz z wielu kont sprzedawcy, rejestrację przeprowadzasz tylko raz i dotyczy ona wszystkich użytkowników oraz kont usług w połączonym projekcie w chmurze Google.

Po zarejestrowaniu projektu Google Cloud link pozostaje aktywny, dopóki nie zostanie wyraźnie usunięty przez wywołanie metody unregisterGcp. Nie możesz rejestrować udostępnionych projektów należących do Google, takich jak APIs Explorer czy OAuth Playground.

Jaki adres e-mail mam podać jako kontakt do dewelopera?

Zalecamy używanie służbowego adresu e-mail danej osoby. Możesz też użyć ogólnych aliasów grup. Nie możesz używać adresów e-mail kont usług, ponieważ komunikaty są przeznaczone dla osób. Google wysyła ważne aktualizacje dotyczące interfejsu API, takie jak powiadomienia o usługach i informacje o nowych funkcjach.

Jeśli adres e-mail należy do użytkownika, który ma już konto Merchant Center, automatycznie przyznawana jest mu rola API_DEVELOPER. W przeciwnym razie na ten adres zostanie wysłane zaproszenie.

Pole kontaktowego adresu e-mail dewelopera jest opcjonalne w metodzie registerGcp. Jeśli podczas rejestracji nie podasz wartości w tym polu, musisz utworzyć użytkownika z rolą API_DEVELOPER w interfejsie Merchant Center lub wywołując metodę accounts.users.create.

Czy adres e-mail osoby kontaktowej dewelopera musi być powiązany z kontem Google?

Tak. Aby użyć istniejącego adresu e-mail pochodzącego z domeny innej niż Google, możesz powiązać go z kontem Google, wybierając opcję Użyj istniejącego adresu e-mail w procesie rejestracji tworzenia konta Google. Nie możesz używać adresów e-mail kont usługi, ponieważ nie mogą one odbierać e-maili.

Jak przeprowadzić uwierzytelnianie i autoryzację w przypadku wywołania rejestracji?

W zależności od przypadku użycia dostępne są 2 różne scenariusze uwierzytelniania i autoryzacji wywołania rejestracji:

  • OAuth 2.0: dla dostawców zewnętrznych lub agencji zarządzających wieloma kontami sprzedawcy.
  • Konta usługi: dostęp do własnego konta Merchant Center.

Tekst alternatywny ułatwiający dostęp

Powyższy diagram przedstawia 2 procesy uwierzytelniania i autoryzacji w przypadku wywołania rejestracji. Możesz wybrać jedną z tych opcji:

  • Używanie OAuth z adresem e-mail, np. account@email.com, powiązanym z kontem Google
  • Używanie konta usługi, np. sa@project.iam.gserviceaccount.com

Jeśli zdecydujesz się na OAuth:

  • Utwórz w projekcie Google Cloud dane logowania OAuth dla swojego adresu e-mail.
  • Sprawdź, czy autoryzujący adres e-mail istnieje w Merchant Center i ma typ dostępu ADMIN.

Jeśli zdecydujesz się na konto usługi:

  • Sprawdź, czy konto usługi istnieje w Twoim projekcie Google Cloud.
  • Sprawdź, czy adres e-mail powiązany z kontem usługi istnieje w Merchant Center i czy ma typ dostępu ADMIN.

Wykonaj wywołanie rejestracji w kontekście zabezpieczeń tożsamości uwierzytelniającej za pomocą bezpośrednich wywołań interfejsu API lub bibliotek klienta. Podaj adres e-mail dewelopera, np. developer@email.com.

Jeśli wywołanie rejestracji zakończy się powodzeniem, w Merchant Center pojawi się użytkownik z podanym adresem e-mail dewelopera i rolą API_DEVELOPER. W odpowiedzi otrzymasz zasób DeveloperRegistration.

Jaka jest różnica między adresem e-mail do uwierzytelniania a adresem e-mail do kontaktu z deweloperem?

Te 2 adresy e-mail służą różnym celom w ekosystemie Merchant API:

  • Uwierzytelnianie adresu e-mail: zwykle używasz adresu e-mail powiązanego z kontem Google lub kontem usługi jako tożsamości do autoryzowania żądań do interfejsu Merchant API, pod warunkiem że:
    • Istnieje na Twoim koncie Merchant Center i ma rolę ADMIN.
    • Projekt Google Cloud, w którym włączono Merchant API, hostuje klienta OAuth lub konto usługi powiązane z adresem e-mail, który autoryzuje wywołania interfejsu API.
  • Kontaktowy adres e-mail dewelopera: Kontaktowy adres e-mail dewelopera musi być też powiązany z kontem Google, ale służy jako główna osoba kontaktowa w sprawie ważnych ogłoszeń dotyczących usług i aktualizacji interfejsu API od Google. Może należeć do użytkownika lub grupy użytkowników. Domyślnie otrzymuje on rolę API developer w Merchant Center.

Czy muszę zaakceptować zaproszenie wysłane na adres e-mail kontaktu z deweloperem?

Tak. Odbiorca podanego przez Ciebie adresu e-mail dewelopera ma 14 dni na zaakceptowanie zaproszenia. Rejestracja jest zakończona dopiero po zaakceptowaniu zaproszenia. W tym czasie możesz jednak wykonywać wywołania interfejsu API.

Jeśli zaproszenie nie zostanie zaakceptowane w określonym czasie, link do zaproszenia wygaśnie. Nie możesz już wykonywać wywołań interfejsu Merchant API i musisz ponownie rozpocząć proces rejestracji.

Zarządzanie kontem i projektami

Często zadawane pytania dotyczące zarządzania kontem i projektami:

Pracuję z wieloma kontami Merchant Center. Czy muszę zarejestrować każde konto Merchant Center, którego chcę używać w interfejsie Merchant API?

Nie. Jeśli jesteś deweloperem zewnętrznym lub agencją, która zarządza wieloma kontami sprzedawców, zarejestruj projekt Google Cloud na swoim głównym koncie Merchant Center, a nie na każdym koncie sprzedawcy. W ten sposób reprezentujesz dewelopera we wszystkich działaniach związanych z interfejsem API, które wykonujesz dla swoich sprzedawców.

Pracuję z wieloma kontami Merchant Center. Jak wybrać główne konto Merchant Center?

Wybór konta głównego zależy od typu Twojej firmy:

  • Platformy handlowe z dotychczasowym kontem zaawansowanym: jeśli Twoja firma działa jako platforma handlowa i ma już konto zaawansowane reprezentujące całą platformę, użyj tego identyfikatora konta jako głównego konta Merchant Center.
  • Usługi porównywania cen: jeśli jesteś usługą porównywania cen, użyj unikalnego identyfikatora konta usługi porównywania cen lub identyfikatora konta grupy usług porównywania cen.
  • Agencje, deweloperzy i inne podmioty zewnętrzne: jeśli jesteś podmiotem zewnętrznym, np. agencją lub deweloperem, który zarządza wieloma kontami sprzedawców i nie ma jednego identyfikatora w Merchant Center reprezentującego Twoją firmę, utwórz nowe, główne konto Merchant Center i poproś o przekształcenie go w konto zaawansowane.

Gdy zarejestrujesz projekt w chmurze Google na swoim głównym koncie Merchant Center, możesz używać tego samego projektu do zarządzania dowolnym innym kontem Merchant Center, do którego masz dostęp, bez konieczności rejestrowania tych kont osobno.

Korzystam z wielu projektów Google Cloud. Czy muszę zarejestrować każdy z nich?

Tak. Proces rejestracji łączy wywołujący projekt Google Cloud, więc wywołanie registerGcp musisz wykonać z każdego projektu Google Cloud, którego używasz do wywoływania interfejsu API.

Jeden projekt Google Cloud może być zarejestrowany tylko na 1 koncie Merchant Center. Jedno konto Merchant Center może jednak mieć zarejestrowanych wiele projektów Google Cloud. Podobnie możesz użyć tego samego adresu e-mail dewelopera do przeprowadzenia wielu rejestracji w różnych projektach Google Cloud lub różnych kontach Merchant Center.

Co się stanie, jeśli zarejestruję projekt Google Cloud na kilku kontach Merchant Center?

Próba zarejestrowania projektu Google Cloud, który jest już zarejestrowany na innym koncie Merchant Center, spowoduje wyświetlenie ALREADY_REGISTEREDbłędu.

Jak uwierzytelnić wywołanie interfejsu API rejestracji dewelopera?

Aby uwierzytelnić wywołanie interfejsu API rejestracji programisty dla Merchant API, użyj danych logowania zarządzanych w projekcie Google Cloud. Masz 2 główne opcje tożsamości, która przeprowadza uwierzytelnianie:

  • Konto Google, np. Gmail, z użyciem protokołu OAuth 2.0: ta metoda korzysta z danych logowania klienta OAuth 2.0 wygenerowanych w projekcie Google Cloud. Wywołanie interfejsu API jest autoryzowane w imieniu konkretnego konta Google, na które loguje się użytkownik.
  • Konto usługi: ta metoda korzysta z konta usługi Google Cloud, które jest specjalnym rodzajem konta Google przeznaczonym dla aplikacji. Dane logowania konta usługi są też zarządzane w Twoim projekcie Google Cloud.

Aby rejestracja dewelopera przebiegła pomyślnie, tożsamość uwierzytelniająca (konto Google lub konto usługi) musi spełniać w Merchant Center te kryteria:

  • Istnieje jako użytkownik w Merchant Center: adres e-mail powiązany z uwierzytelnianym kontem Google lub kontem usługi musi być dodany jako użytkownik na koncie Merchant Center, które rejestrujesz.
  • Wymagana rola administratora: użytkownik musi mieć przypisaną rolę ADMIN na danym koncie Merchant Center.

Podczas wywoływania interfejsu API:

  • Jeśli używasz bezpośrednich wywołań interfejsu API, musisz uzyskać i podać prawidłowy token dostępu w nagłówku Authorization. Ten token jest generowany przez przepływ OAuth 2.0 dla konta Google lub proces uwierzytelniania międzyserwerowego dla konta usługi.
  • Biblioteki klienta udostępniane przez Google zwykle obsługują złożone procesy uzyskiwania i odświeżania tokenów dostępu w ramach swojej konfiguracji.

Użytkownik uwierzytelniający może nie być tym samym użytkownikiem, który jest osobą kontaktową dewelopera. Więcej informacji znajdziesz w artykule Jaka jest różnica między adresem e-mail służącym do uwierzytelniania a adresem e-mail dewelopera?

Jak często muszę odświeżać tokeny dostępu?

Tokeny dostępu zarówno w przypadku kont usługi, jak i OAuth 2.0 zwykle wygasają po 1 godzinie. Mechanizm uzyskiwania nowego kodu zależy jednak od używanej metody uwierzytelniania:

  • Konta usług używają klucza prywatnego lub danych logowania środowiska, aby w razie potrzeby utworzyć nowy token dostępu.
  • Procesy OAuth 2.0 używają parametru refresh_token do wywoływania punktu końcowego tokena Google OAuth2 w celu otrzymania nowego tokena dostępu ważnego przez godzinę.

Zdecydowanie zalecamy korzystanie z oficjalnych bibliotek uwierzytelniania Google, które automatycznie obsługują tę rotację, dzięki czemu aplikacja nigdy nie ulega przestojom.

Użytkownicy i role

Częste pytania dotyczące użytkowników i ról:

Czy konto e-mail dewelopera musi już istnieć w Merchant Center?

Nie. Jeśli adres e-mail użyty do rejestracji nie istnieje jeszcze w Merchant Center, interfejs Merchant API utworzy konto w Merchant Center z podanym adresem e-mail w stanie oczekiwania. Jeśli adres e-mail dewelopera należy do istniejącego użytkownika konta Merchant Center, automatycznie przyznawana jest mu rola API_DEVELOPER.

Czy adres e-mail osoby kontaktowej dewelopera musi mieć uprawnienia administracyjne w Merchant Center?

Nie. Użytkownik Merchant Center powiązany z adresem e-mail kontaktu z deweloperem ma domyślnie rolę API_DEVELOPER, która jest wymagana do otrzymywania ważnych powiadomień. Ma jednak minimalne uprawnienia w Merchant Center. Aby umożliwić temu użytkownikowi wykonywanie innych wywołań interfejsu API lub zarządzanie ustawieniami w interfejsie Merchant Center, musisz przyznać mu dodatkowe role, np. STANDARD lub ADMIN. Więcej informacji o rolach w Merchant Center znajdziesz w sekcji Typy dostępu.

Jakie uprawnienia ma rola „Deweloper interfejsu API”?

Rola API Developer to rola z minimalnymi uprawnieniami w Merchant Center. Jeśli planujesz używać adresu e-mail do kontaktu z programistą, aby autoryzować wywołania interfejsu Merchant API, zalecamy dodanie uprawnień ADMIN lub STANDARD, aby umożliwić użytkownikowi wykonywanie wywołań interfejsu API.

Czy muszę rejestrować każdego użytkownika dewelopera lub konto usługi wywołujące interfejs API?

Nie. Rejestracja dewelopera jest powiązana z projektem Google Cloud używanym do wywoływania interfejsu API, a nie z poszczególnymi użytkownikami ani kontami usługi. Gdy projekt Google Cloud zostanie zarejestrowany na Twoim głównym koncie Merchant Center, możesz używać dowolnej tożsamości zarządzanej w połączonym projekcie Google Cloud za pomocą danych logowania protokołu OAuth lub kont usługi do autoryzowania wywołań interfejsu Merchant API, pod warunkiem że tożsamość ta istnieje w Merchant Center i ma przypisaną rolę ADMIN.

Jak zmienić kontaktowy adres e-mail dewelopera po wstępnej rejestracji?

Aby zarządzać kontaktami lub je zmieniać, użyj standardowej usługi accounts.users lub strony „Dostęp i usługi” w interfejsie Merchant Center, aby dodawać lub usuwać użytkowników z rolą API Developer.

Co się stanie, jeśli ostatni użytkownik z uprawnieniami „Deweloper API” zostanie usunięty z konta Merchant Center?

Aby uniknąć natychmiastowego zakłócenia działania usługi, rozpoczyna się 30-dniowy okres prolongaty. W tym czasie:

  • Administratorzy otrzymają 3 obowiązkowe ogłoszenia o usłudze e-mailem (zwykle około 30, 17 i 4 dni przed blokadą).
  • Wywołania interfejsu API będą nadal działać normalnie.
  • Jeśli przed upływem okresu prolongaty nie zostanie dodany nowy API Developer, wywołania interfejsu API z powiązanych projektów Google Cloud zostaną zablokowane i wyświetli się błąd AUTH_GCP_NOT_REGISTERED.

Po upływie 30-dniowego okresu prolongaty wywołania interfejsu API z powiązanych projektów Google Cloud są blokowane i zwracają błąd AUTH_GCP_NOT_REGISTERED do czasu przywrócenia prawidłowego kontaktu z deweloperem.

Co się stanie, jeśli identyfikator w Merchant Center, w którym zarejestrowano dewelopera, zostanie usunięty?

Nie usuwaj konta Merchant Center używanego do rejestracji dewelopera, dopóki integracja jest aktywna. Usunięcie tego konta natychmiast spowoduje przerwanie integracji i nie będzie już można wykonywać wywołań interfejsu API z powiązanego projektu Google Cloud.

Jeśli musisz usunąć to konto Merchant Center, najpierw wywołaj metodę unregisterGcp, aby bezpiecznie usunąć połączenie, a dopiero potem usuń identyfikator w Merchant Center. Jeśli chcesz nadal korzystać z Merchant API, musisz zarejestrować się za pomocą innego identyfikatora w Merchant Center zaraz po wyrejestrowaniu bieżącego identyfikatora. Dopiero wtedy usuń identyfikator w Merchant Center.

Specjalne przypadki użycia

Najczęstsze pytania dotyczące specjalnych przypadków użycia:

Jestem agencją lub deweloperem zewnętrznym zarządzającym wieloma kontami sprzedawców. Jak najlepiej to skonfigurować?

Deweloperzy i agencje zewnętrzne powinni prowadzić własne główne konto Merchant Center i rejestrować wszystkie swoje projekty Google Cloud na tym jednym, centralnym koncie. Nie rejestruj projektu Google Cloud na kontach poszczególnych sprzedawców.

Jak działa rejestracja w przypadku Google Apps Script?

Skrypty aplikacji działają zwykle w domyślnym projekcie w chmurze Google. Musisz zarejestrować ten domyślny identyfikator Google Cloud na koncie Merchant Center. Identyfikator Google Cloud jest uzyskiwany automatycznie przez interfejs API, więc nie musisz go podawać jako parametru.

Czy mogę sprawdzić, czy identyfikator w Merchant Center jest zarejestrowany w konkretnym identyfikatorze projektu Google Cloud?

Tak. Możesz sprawdzić, który identyfikator w Merchant Center jest zarejestrowany w konkretnym projekcie Google Cloud, korzystając z metody getAccountForGcpRegistration. Aby usunąć połączenie projektu Google Cloud z kontem Merchant Center, użyj metody unregisterGcp.