ドメインのユーザーのプロファイル情報を取得したい..これにはプロファイル API を使用しています..
プロファイル API は、(姓、名、電子メールなど) のようないくつかのフィールドのみを提供します。しかし、これらのフィールドも取得したいと思います: 職業、部署、電話 [仕事]、電話 [モバイル]、関係 [マネージャー] .. .
これらのフィールドを取得できません。これらのフィールドを取得するための提案をお願いします。
ドメインのユーザーのプロファイル情報を取得したい..これにはプロファイル API を使用しています..
プロファイル API は、(姓、名、電子メールなど) のようないくつかのフィールドのみを提供します。しかし、これらのフィールドも取得したいと思います: 職業、部署、電話 [仕事]、電話 [モバイル]、関係 [マネージャー] .. .
これらのフィールドを取得できません。これらのフィールドを取得するための提案をお願いします。
Profile API ですべてのフィールドを取得しました....実際には、いずれかのフィールドが空の場合、Profile API はそのフィールドを出力として提供しません.....したがって、Profile API を使用して、ユーザーの完全な情報を取得できます... .
Code :
var username="user "
var base = 'https://www.google.com/m8/feeds/';
var fetchArgs = googleOAuth_('contacts', base);
fetchArgs.method='GET'
var url=base+'profiles/domain/'+domainName+'/full/'+username+'?v=3&alt=json'
var name=""
var occupation=""
var department=""
var email=""
var contactNumber_1=""
var contactNumber_2=""
var relation=""
var account=""
var office=""
var personal_account=""
var current_account=""
var language=""
var blog=""
var image=""
try{
var urlFetch = UrlFetchApp.fetch(url, fetchArgs)
var json=Utilities.jsonParse(urlFetch.getContentText())
var profileInfo = json.entry
try{
name=profileInfo.gd$name.gd$fullName.$t
}catch(err){}
try{
occupation=profileInfo.gContact$occupation.$t
}catch(err){}
try{
department=profileInfo.gd$organization[0].gd$orgDepartment.$t
}catch(err){}
try{
var emaillist=profileInfo.gd$email
for(var i=0;i<emaillist.length;i++){
if(emaillist[i].rel.split("#")[1]=='work')
email=profileInfo.gd$email[i].address
}
}catch(err){}
try{
var phonelist=profileInfo.gd$phoneNumber
for(var i=0;i<phonelist.length;i++){
if(phonelist[i].rel.split("#")[1]=='work')
contactNumber_1=phonelist[i].$t
else if(phonelist[i].rel.split("#")[1]=='mobile')
contactNumber_2=phonelist[i].$t
}
}catch(err){}
try{
relation=profileInfo.gContact$relation[0].$t+" ["+profileInfo.gContact$relation[0].rel+"]"
}catch(err){}
}catch(err){}
}
/*
Oauth Authentication
*/
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(consumerKey);
oAuthConfig.setConsumerSecret(consumerSecret);
return {oAuthServiceName:name, oAuthUseToken:"always"};
}
いずれかのフィールドが空の場合、そのタグは見つからないため、すべてのフィールドが try - catch ブロックに書き込まれます...