2014-12-29 2 views
2

Я пытаюсь получить доступ к API Google.Кнопка входа в Google Plus визуализирована, но не работает

Чтобы изучить процесс входа в систему, я создал простую веб-страницу, чтобы заставить кнопку входа работать в соответствии с https://developers.google.com/+/web/signin/add-button, и кнопка отображается правильно. Однако он неактивен - он не реагирует на клики, в консоли браузера также нет ошибок.

Я не запускаю страницу с веб-сервера, я открываю ее прямо с диска. То есть URL-адрес примерно file:///c:/projects/GooglePlusClientJS/google_plus_js.html.

кодовая страница:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
    <head> 
    <meta http-equiv="content-type" content="text/html; charset=utf-8"> 

    <script src="https://apis.google.com/js/client:platform.js" async defer></script> 
    <script type="text/javascript"> 
function signinCallback(authResult) { 
    if (authResult['status']['signed_in']) { 
    // Update the app to reflect a signed in user 
    // Hide the sign-in button now that the user is authorized, for example: 
    console.log("Signed in"); 
    document.getElementById('signinButton').setAttribute('style', 'display: none'); 
    } else { 
    // Update the app to reflect a signed out user 
    // Possible error values: 
    // "user_signed_out" - User is signed-out 
    // "access_denied" - User denied access to your app 
    // "immediate_failed" - Could not automatically log in the user 
    console.log('Sign-in state: ' + authResult['error']); 
    } 
} 
    </script> 
    <title>GooglePlus Test</title> 
    </head> 
    <body> 

<span id="signinButton"> 
    <span 
    class="g-signin" 
    data-callback="signinCallback" 
    data-clientid="my_client_id.apps.googleusercontent.com" 
    data-cookiepolicy="none" 
    data-requestvisibleactions="http://schema.org/AddAction" 
    data-scope="https://www.googleapis.com/auth/plus.login"> 
    </span> 
</span> 

    </body> 
</html> 

Что я делаю неправильно? Это вызвано открытием его непосредственно с диска? Если да, то почему?

Спасибо.

РЕДАКТИРОВАТЬ 1: При запуске веб-сервера эта страница работает нормально, отображается диалоговое окно входа в систему. Может ли кто-нибудь пролить свет на то, почему это происходит?

+0

Если вы посмотрите на консоль, вы, вероятно, увидите проблему. Некоторые браузеры не позволяют загружать и запускать удаленное JS на локальной веб-странице, что, вероятно, является проблемой здесь. –

+0

Консоль браузера не вызывает никаких проблем. Я использую встроенные инструменты разработчика Firefox, и они даже показывают, что удаленные JS-файлы были загружены правильно. Я даже могу отображать источники в Debugger. – w359

ответ

0

Я реплицировал ваш код и отлично работал, все, что мне нужно было сделать, - это, очевидно, изменить образец clientid, чтобы он соответствовал моему, вы сделали то же самое? Я полагаю, да, но никогда не знает ...

Я не запустить страницу с веб-сервера, я открываю его непосредственно с диска

I'm не эксперт, но это Безразлично» t, вы должны обслуживать его, возможно, с помощью xampp ...

+0

Как указано в правиле, он действительно работает при запуске веб-сервера. См. EDIT 1. – w359

Смежные вопросы