Я создаю скрипт приложений Google на электронной таблице, который создает пользователей в домене, представленном из формы регистрации, основанной на формах Google. Создание этого пользователя было легко с помощью этого метода UserManager.createUser(username, firstname, lastname,password);
, но проблема в том, что я «Посмотрим, как проверить, существует ли пользователь, вставленный в электронную таблицу. Я проверил через Интернет специально по адресу https://developers.google.com/apps-script/, но ничего не нашел полезного.Проверка существующего пользователя с помощью скрипта Google Apps
ответ
насчет использования попробовать поймать блок? Простой, но должен облегчить ваши потребности.
try{
// Get an existing user
var user = UserManager.getUser("delete.me");
}catch(e){
// If user does not exist // i.e. error // create the user
var newUser = UserManager.createUser('delete.me', 'Delete', 'Me', 'testing123');
}
Существует нет прямого API для него из Script Apps, но вы можете использовать User Provisioning с использованием OAuth 2 и UrlFetchApp. Вы можете увидеть некоторые sample integration с Audit API
Извините, но вы можете объяснить больше? как я могу использовать аудит ауди в такой штуке? –
Вы заменили бы API аудита API Provisioning API. Они очень похожи API. Сообщение, которое я указал, должно дать вам структуру и подход, необходимые для достижения того, что вам нужно. –
Здесь 2 версии сценария, который получает всех пользователей в моем домене, второй использует API, о котором упоминал Арун, и возвращает XML-документ, видимый в журнале регистрации (для этой тестовой версии), который вы могли бы проанализировать соответствующим образом.
Другой (первый фактически) использует UserManager
сервис и показывает результаты в электронной таблице. Оттуда (используя массив) было бы легко проверить, имеет ли пользователь уже учетную запись.
вот код:
function findUsers(s) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()
sheet.getDataRange().clear()
var users = UserManager.getAllUsers();
var r = new Array();
//
for(var i = 0 ; i < users.length ; i++){
var Umail = users[i].getEmail();
var UnomF = users[i].getFamilyName()
var UnomP = users[i].getGivenName()
if(users[i].getAgreedToTerms()){var Udejaconnect = 'oui'}else{var Udejaconnect = 'jamais'}
//
r.push([UnomF,UnomP,Umail,Udejaconnect]);
}
r.sort(function(x,y){
var xp = x[0].toLowerCase();
var yp = y[0].toLowerCase();
Logger.log(xp+' '+yp)
return xp == yp ? 0 : xp < yp ? -1 : 1;// sort on name ascending
}
)
var header = ['Nom de famille','Prénom','Email','Déjà Connecté?']
sheet.getRange(1,1,1,r[0].length).setValues([header]).setFontWeight('bold')
.setBackground('silver').setBorder(true,true,true,true,true,true);
sheet.getRange(2,1,r.length,r[0].length).setValues(r);
}
// new version provisioning API
//
function getUserData() {
var base = "https://apps-apis.google.com/a/feeds/";
var fetchArgs = googleOAuth_("provisioning", base);
var url = base + "domain.name" + "/user/2.0";
var result = UrlFetchApp.fetch(url,fetchArgs).getContentText()
var xml = Xml.parse(result);
Logger.log(result)
var users = xml.feed.entry;
var r = [['Login', 'Nom complet', "Droits d'admin.", 'Quota Emails', 'Compte suspendu']];
for(var i in users)
r.push([users[i].login.userName,
users[i].name.givenName+' '+users[i].name.familyName,
users[i].login.admin,
users[i].quota.limit,
users[i].login.suspended]);
var s = SpreadsheetApp.getActiveSheet();
s.clearContents();
s.getRange(1, 1, r.length, r[0].length).setValues(r);
}
function googleOAuth_(name,scope) {
var oAuthConfig = UrlFetchApp.addOAuthService(name);
oAuthConfig.setRequestTokenUrl("https://www.google.com/accounts/OAuthGetRequestToken?scope="+scope);
oAuthConfig.setAuthorizationUrl("https://www.google.com/accounts/OAuthAuthorizeToken");
oAuthConfig.setAccessTokenUrl("https://www.google.com/accounts/OAuthGetAccessToken");
oAuthConfig.setConsumerKey("anonymous");
oAuthConfig.setConsumerSecret("anonymous");
return {oAuthServiceName:name, oAuthUseToken:"always"};
}
Большое вам спасибо, что я прочитал ваш ответ и понял, что вы имели в виду с этим подходом, за исключением того, что другой ответ прямо на то, что мне больше не нужно, спасибо еще раз. –
- 1. Аутентификация пользователя скрипта Google Apps по HTTP
- 2. Как определить пользователя с помощью скрипта Google Apps?
- 3. Анализ XML с помощью скрипта Google Apps
- 4. Выполнение SHA256withRSA с помощью скрипта Google Apps
- 5. Развертывание скрипта Google Apps
- 6. Добавление пользователя домена в подразделение Google Apps с помощью скрипта Google Apps
- 7. Проверка существующего пользователя с помощью Mongoose
- 8. Проверка формы Google Apps с помощью Javascript
- 9. Удалите участника группы «Ожидание» с помощью скрипта Google Apps
- 10. Использование меню Google Таблиц с помощью скрипта Google Apps
- 11. Открыть Google Spreadsheet с помощью скрипта Google Apps
- 12. Google Spreadsheet: Шифрование содержимого ячеек с помощью скрипта Google Apps
- 13. запросить таблицу Google с помощью скрипта Google Apps
- 14. Отправка ответа на форму google с помощью скрипта Google Apps
- 15. Вызов скрипта Google Apps с токеном доступа
- 16. Выполнение скрипта Google Apps с использованием C#
- 17. Сохранение скрипта Google Apps длится
- 18. IP-адрес скрипта Google Apps
- 19. Переменная скрипта Google Apps, проходящая
- 20. Сложная проблема с сопоставлением дат с помощью скрипта Google Apps
- 21. Пакетная вставка скрипта Google Apps
- 22. Получение текущей версии скрипта с использованием скрипта Google Apps
- 23. Сброс пароля пользователя в Google Apps
- 24. Как опубликовать диаграмму в Интернете с помощью скрипта Google Apps
- 25. Заполнение круговой диаграммы С помощью скрипта Google Apps и UiApp()
- 26. Как создать сводную таблицу с помощью скрипта Google Apps?
- 27. Создание псевдонимов пользователей в gmail с помощью скрипта Google Apps
- 28. Как выделить выделенный текст с помощью скрипта Google Apps?
- 29. Как загрузить видео на Youtube с помощью скрипта Google Apps?
- 30. Служить не-HTML-контентом с помощью скрипта Google Apps
Большое спасибо, что это было бы отлично. –