Как я могу вручную запустить рендеринг кнопки входа в Google по умолчанию

0

Вот простой пример моей проблемы.

Я использую кнопку входа в систему по умолчанию, следуя руководству, найденному здесь. Я включил все ресурсы, требуемые в Угловом приложении. Кнопка включена в представление, содержащее параметры входа.

<script src="https://apis.google.com/js/platform.js" async defer></script>
<meta name="google-signin-client_id" content="YOUR_CLIENT_ID.apps.googleusercontent.com">
<div class="g-signin2" data-onsuccess="onSignIn"></div>

Когда это работает

При загрузке этого частичного представления с начальной загрузкой сайта все работает замечательно.

Когда это не

Когда частичное представление, содержащее кнопку, загружается после начальной загрузки страницы (например, когда кто-то переходит на страницу регистрации после начальной загрузки), кнопка не отображается. Очевидно, что что-то происходит автоматически при нажатии кнопки, которую мне нужно запускать вручную, когда кнопка доступна только позже, но я не вижу никакой документации по этому поводу, когда вы используете кнопку по умолчанию. Есть ли функция на щели, которую мне нужно вызвать, чтобы подключить кнопку?

Как примечание

Я не могу понять, почему у меня так много проблем с google oauth. Я чувствую, что у меня отсутствует базовая концепция, которая делает невозможным что-то выяснить самостоятельно, поэтому, если есть ресурс, который вы бы предложили, я прочитал, чтобы действительно получить его (особенно, когда речь заходит об интеграции в угловое приложение) Я был бы очень благодарен за указатель.

  • 0
    эй sonicblis, я не совсем понял. Можете ли вы опубликовать код или ручку? Спасибо
  • 0
    совершенно справедливо: jsfiddle.net/sonicblis/12jpL138 . Если вы возьмете кнопку из шаблона и поместите ее на главную страницу, она будет хорошо отображаться.
Теги:
google-oauth

1 ответ

3

http://jsfiddle.net/sonicblis/12jpL138/3/

Ключ состоит в том, чтобы использовать gapi.signin2.render для создания кнопки, которая, кстати, также позволяет вам функционировать в рамках углового контроллера, который является прекрасным.

Сделав кнопку заполнитель таким образом:

<div id="googleButtonPlaceholder"></div>

Затем я могу использовать функцию рендеринга gapi чтобы ссылаться на нее, и gapi ее все, что вызывает все автоматические auth файлы, которые библиотека автоматически выполняет для входа пользователя в систему и чего-то еще. Это значительно упрощает мои угловые приложения.

$window.gapi.signin2.render('googleButtonPlaceholder', {
    'scope': 'https://www.googleapis.com/auth/plus.login',
    'width': 200,
    'height': 50,
    'longtitle': true,
    'theme': 'dark',
    'onsuccess': $scope.federateWithGoogle
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню