2013-03-29 7 views
1

J'essaie d'utiliser l'API Google Apps Profiles Data pour récupérer les informations de profil des utilisateurs Google Apps de mon domaine. Ici, nous le code que je l'ai essayé jusqu'à présent, mais il donne erreur Request failed for returned code 403. Server response: Version 1.0 is not supported. (line 7, file "Profile")Utilisation de l'API Profils Google Apps avec Apps Script

function getAllProfiles() { 
    var scope = 'https://www.google.com/m8/feeds/profiles'; 
    var fetchArgs = googleOAuth_('Profile', scope); 
    fetchArgs.method = 'GET'; 
    var domain = UserManager.getDomain(); 
    var url = scope+'/domain/'+domain+'/full'; 
    var rawData = UrlFetchApp.fetch(url, fetchArgs).getContentText(); 
    Logger.log(rawData); 
} 

//google oAuth 
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"}; 
} 

Note:

  • Mon compte a accès super Admin dans Google Apps
  • J'essaie ce code avec Google applications Enterprise Edition

Références: Google Apps Profile Data API

Ce sera génial si quelqu'un peut me diriger dans la bonne direction

+0

Avez-vous vu [ce poste] (http://stackoverflow.com/questions/13717809/to-get-users-profile-information-in-google-script)? J'ai eu du succès en l'essayant. –

+1

@Sergeinsas Merci d'avoir indiqué ce lien. J'ai eu mon code qui fonctionnait quand j'ai ajouté un paramètre de version v = 3 à l'URL de la requête –

Répondre

3

Voici le code modifié qui nécessitait un paramètre de version avec l'URL de la demande. Maintenant, le code fonctionne bien.

function getAllProfiles() { 
    var scope = 'https://www.google.com/m8/feeds/profiles'; 
    var fetchArgs = googleOAuth_('Profile', scope); 
    fetchArgs.method = 'GET'; 
    var domain = UserManager.getDomain(); 
    var url = scope+'/domain/'+domain+'/full?v=3'; 
    var rawData = UrlFetchApp.fetch(url, fetchArgs).getContentText(); 
    Logger.log(rawData); 
} 

//google oAuth 
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"}; 
}