Откройте всплывающее окно разрешить доступ на той же странице вместо этого во всплывающем окне
Когда я впервые читаю данные с Google Диска из своего приложения, google просит разрешить доступ в новом всплывающем окне. Как открыть содержимое всплывающего окна на той же странице, а не в новом всплывающем окне?
Вот скришот - [Кликните сюда]
Что я уже пробовал:
< html>
< голова>
< script type= "text/javascript">
// Ваш идентификатор клиента можно получить из вашего проекта в Google
// Консоль разработчика, https://console.developers.google.com
ВАР CLIENT_ID = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com';
VAR SCOPES = ['https://www.googleapis.com/auth/drive.metadata.readonly'];
/**
* Проверьте, авторизовал ли текущий пользователь это приложение.
*/
функция checkAuth() {
гапи.авт.разрешаю(
{
'client_id': CLIENT_ID,
'объем': областей.присоединяйтесь к(' '),
"немедленно": ложь
}, handleAuthResult);
}
/**
* Обрабатывать ответ от сервера авторизации.
*
* @param {Object} authResult результат авторизации.
*/
функция handleAuthResult(authResult) {
var authorizeDiv = document. getElementById ('authorize-div');
if (authResult &&! authResult. error) {
// Скрыть пользовательский интерфейс auth, а затем загрузить клиентскую библиотеку.
authorizeDiv.стиль.дисплей = значение 'None';
loadDriveApi();
} еще {
// Показать интерфейс авторизации, что позволяет пользователю инициировать санкции
// нажатие кнопки авторизация.
authorizeDiv.стиль.дисплей = 'инлайн';
}
}
/**
* Инициировать поток аутентификации в ответ на нажатие пользователем кнопки авторизации.
*
* @param {Event} кнопка События нажмите событие.
*/
функция handleAuthClick(событие) {
гапи.авт.разрешаю(
{client_id: CLIENT_ID, scope: SCOPES, immediate: false},
handleAuthResult);
возвращать false;
}
/**
* Загрузите клиентскую библиотеку Drive API.
*/
функция loadDriveApi() {
гапи.клиента.нагрузки (езды', 'В3', файл-список);
}
/**
* Печать файла.
*/
функция listFiles() {
ВАР запрос = гапи.клиента.езды.файлов.список({
"размер страницы": 10,
'fields': "nextPageToken, files(id, name)"
});
request. execute(функция (resp) {
appendPre ('файлы:');
файлы var = респ.файлы;
if (files & & amp; files.длина > 0) {
for (var i = 0; i & lt; files.длина; i++) {
var file = файлы[i];
appendPre (файл.имя + ' (' + file.id +')');
}
} еще {
appendPre ("файлы не найдены".);
}
});
}
/**
* Добавьте элемент pre к телу, содержащему данное сообщение .
* как его текстовый узел.
*
* @param {string} текст сообщения, который будет помещен в pre элемент.
*/
функция appendPre(сообщение) {
var pre = document. getElementById ('output');
ВАР текстового содержимого = документ.createTextNode(сообщение + '\Н');
заранее.метода appendChild(текстового содержимого);
}
< / script>
&ЛТ;скрипт СРЦ="https://apis.google.com/js/client.js?onload=handleAuthClick"&ГТ;&ЛТ;/скрипт>
< / head>
& lt;тело>
< / body>
< / html>
Richard Deeming
Я не думаю, что это возможно. Если бы это было так, страница, запрашивающая разрешение, могла бы манипулировать приглашением разрешения и обманом заставить пользователя предоставить нежелательные разрешения.
gautam mishra75
спасибо, парень, но если вы найдете какое-либо решение в любое время, пожалуйста, ответьте. Спасибо снова