W tej sekcji znajdziesz odpowiedzi na najczęstsze pytania dotyczące rejestracji deweloperów w Merchant API.
Rejestracja ogólna
Najczęstsze pytania dotyczące procesu rejestracji:
Czy rejestracja dewelopera jest obowiązkowa, aby korzystać z Merchant API?
Tak. Musisz zarejestrować swoje dane kontaktowe dewelopera, abyśmy mogli przesyłać Ci ważne informacje o interfejsach API, takie jak powiadomienia o usługach i informacje o nowych funkcjach.
Jeśli chcesz tylko poznać i przetestować Merchant API, możesz użyć narzędzi takich jak Google OAuth Playground i APIs 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 w chmurze Google Cloud link pozostaje aktywny, chyba że 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żywać 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 otrzyma on rolę 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 tego pola, 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.
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:
- Tworzenie danych logowania OAuth w projekcie Google Cloud na potrzeby poczty 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, używając bezpośrednich wywołań interfejsu API lub bibliotek klienta. Podaj adres e-mail do kontaktu z deweloperem, 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 służącym do uwierzytelniania a adresem e-mail 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łączony jest interfejs Merchant API, hostuje klienta OAuth lub konto usługi powiązane z adresem e-mail, który autoryzuje wywołania interfejsu API.
- Istnieje na Twoim koncie Merchant Center i ma rolę
- 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 developerw Merchant Center.
Czy muszę zaakceptować zaproszenie wysłane na adres e-mail kontaktu z deweloperem?
Tak. Odbiorca podanego przez Ciebie kontaktowego 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.
Dlaczego rejestracja dewelopera kończy się niepowodzeniem z powodu błędu „konto testowe”?
Rejestracja dewelopera jest ograniczona do kont produkcyjnych (aktywnych), aby zapewnić stabilność integracji. Jeśli używasz konta utworzonego specjalnie na potrzeby testowania, które jest oznaczone jako „konto testowe” w Merchant Center, rejestracja zostanie odrzucona.
Czy mogę zarejestrować subkonto, którym zarządzam w imieniu klienta?
Zdecydowanie zalecamy zarejestrowanie konta, które reprezentuje Twoją tożsamość biznesową. Rejestrowanie subkonta klienta jest niedozwolone i może prowadzić do błędów. Jeśli klient zrezygnuje z Twojej usługi lub usunie konto, cała integracja interfejsu API może zostać wyłączona.
Czy muszę zgłosić prawa do witryny, czy wystarczy ją zweryfikować?
W przypadku rejestracji dewelopera witryna musi być zweryfikowana. Potwierdza to, że masz kontrolę administracyjną nad witryną powiązaną z kontem. Chociaż w przypadku innych funkcji, takich jak reklamy produktowe, wymagane jest zgłoszenie prawa własności, weryfikacja jest podstawowym wymaganiem w przypadku rejestracji interfejsu API.
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ć z 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 Cloud na głównym koncie Merchant Center, możesz używać tego samego projektu do zarządzania innymi kontami Merchant Center, do których 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.
Pojedynczy projekt Google Cloud może być zarejestrowany tylko na 1 koncie Merchant Center naraz. Jednak pojedyncze konto Merchant Center może mieć zarejestrowanych wiele projektów Google Cloud. Podobnie możesz użyć tego samego adresu e-mail dewelopera do przeprowadzenia wielu rejestracji w wielu projektach Google Cloud lub na wielu 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 w interfejsie Merchant API, użyj danych logowania zarządzanych w ramach projektu 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 do konta usługi są też zarządzane w Twoim projekcie w chmurze 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ę
ADMINna 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 przepływ 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 kontaktem 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 godzinie. Jednak mechanizm uzyskiwania nowego tokena zależy 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 adres 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 użytkownika, który ma już konto Merchant Center, automatycznie otrzyma on rolę API developer.
Czy adres e-mail osoby kontaktowej dewelopera musi mieć uprawnienia administratora w Merchant Center?
Nie. Użytkownik Merchant Center powiązany z adresem e-mail dewelopera otrzymuje domyślnie rolę API developer wymaganą 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 „API developer”?
API developer to rola z minimalnymi uprawnieniami w Merchant Center. Jeśli planujesz używać adresu e-mail kontaktu z deweloperem do autoryzowania wywołań Merchant API, zalecamy dodanie uprawnień ADMIN lub STANDARD, aby umożliwić użytkownikowi wykonywanie wywołań 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 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 „API developer” 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 z błędemAUTH_GCP_NOT_REGISTERED.
Po upływie 30-dniowego okresu karencji 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.
Dlaczego nie widzę roli „API developer” w Merchant Center?
API developerRola jest widoczna w interfejsie Merchant Center tylko po zarejestrowaniu dewelopera na danym koncie Merchant Center. Na kontach Merchant Center bez rejestracji rola API developer nie jest widoczna.
Specjalne przypadki użycia
Najczęstsze pytania dotyczące specjalnych przypadków użycia:
Jestem agencją lub deweloperem zewnętrznym, który zarządza wieloma kontami sprzedawcy. 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 są zwykle uruchamiane 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 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 w chmurze Google, korzystając z metody getAccountForGcpRegistration. Aby usunąć połączenie projektu Google Cloud z kontem Merchant Center, użyj metody unregisterGcp.