EDYCJA: Poniższy komentarz nadal obowiązuje. Wróciłem do rzeczy już w Swift i tutaj jest the result and what I did (on Github). Mam nadzieję, że zaoszczędzą one komuś innemu warta pracy, aby to zrozumieć.
Oto odpowiedź niefortunne: Tak, używasz przykład z Google iOS Quickstart, „native SDK”, jak to nazwać. To jednak nieaktualne, ponieważ używa dokładnie tego widoku internetowego, którego Google nie chce już używać.
Jeśli to działało wcześniej, ale nagle przestało to robić (tak jak ja sam się przeżyłem), może to wiązać się z koniecznością zmiany czegoś związanego z identyfikatorem klienta. W przypadku identyfikatorów klientów, które istnieją od pewnego czasu, wydaje się, że upłynie dłuższy okres karencji, dopóki Google nie zablokuje dostępu do widoku w przeglądarce internetowej (na razie nadal powinno to być jakieś ostrzeżenie). Nowy identyfikator klienta, który utworzyłem niedawno z przyczyn niezwiązanych z żadną inną przyczyną, prawdopodobnie spowodował, że utknąłem w konieczności zastąpienia kodu uwierzytelniającego Dysk Google w nowej wersji w krótkim czasie.
Co do opcji (do tej pory tylko drugi respondent na liście pytań z posta na blogu Google), po pewnym badaniu GTMAppAuth wydaje się być najbardziej realną opcją dla mnie, ponieważ nie jestem zainteresowany kompletnym logowanie i logowanie użytkownika. Ale mogę się mylić.
GTMAppAuth ma przykładowy kod dla systemu iOS, ale tylko w Objective-C. Muszę jeszcze przez to przejść. Ogólnie logika kodu zmieni się w następujący sposób: Twoje obecne rozwiązanie uwierzytelnia wyłącznie w Twojej aplikacji. Jest asynchroniczny, ale nie opuszcza Twojej aplikacji. Nowe rozwiązanie wymaga inicjowania uwierzytelniania w aplikacji podczas przygotowywania i zapamiętywania funkcji zwrotnej. Inicjacja uwierzytelniania otwiera następnie przeglądarkę na zewnątrz, która po wykonaniu powoduje wywołanie zwrotne URL w delegacji aplikacji. W delegacie aplikacji, następnie sprawdź, czy przygotowane callback i, w zależności od statusu wyniku zewnętrznego połączenia, powiadom użytkownika o sukcesie lub niepowodzeniu zewnętrznego uwierzytelniania.
proszę sprawdzić http://stackoverflow.com/questions/40654403/403-error-disallowed-useragent/42045386#42045386 –