OpenSocialTutorial-6
IDtail.com API
[편집] 프로파일 필드 목록
idtail.com에서 제공하는 profile 데이타 중 일부는 opensocial의 person field에 적용됩니다. 단 방문자는 주인, 주인친구, 방문자의 친구들에 대한 특정 field 값 보기 권한이 있어야지만 접근이 가능합니다.
[편집] Profile field table
| Idtail API | OpenSocial Field | Idtail Accesss Policy |
|---|---|---|
| id | id | Available |
| name | name | Available |
| birthyear, birthmonth, birthday | dateOfBirth | Available |
| img | thumbnailUrl | Available |
| profileUrl | profileUrl | Available |
| gender | gender | Available |
| locality | addresses | Available |
| interests | interests | Available |
| weblog | urls | Available |
| homepage | urls | Available |
| career | jobs | Personally Identifiable Information |
| schools | schools | Personally Identifiable Information |
[편집] 예제
- 밑에 예제는 opensocial 0.7버전 기준으로 작성되었습니다.
<Module>
<ModulePrefs title="Owner Info">
<Require feature="opensocial-0.7"/>
</ModulePrefs>
<Content type="html">
<![CDATA[
<div id="content"></div>
<script type="text/javascript" >
gadgets.util.registerOnLoadHandler( init );
function init() {
var req = opensocial.newDataRequest();
var ownerReq = req.newFetchPersonRequest('OWNER');
req.add( ownerReq, 'pageOwner' );
req.send( onDataLoad );
}
function getValue( obj, name )
{
var v = obj.getField( opensocial.Person.Field[name] );
return v != undefined ? v : '';
}
function onDataLoad(dataResponse) { /* dataResponse methods: hadError get */
var cont = document.getElementById('content');
if( dataResponse.hadError() ) {
cont.innerHTML = "Error in fetching data";
return;
}
var owner = dataResponse.get('pageOwner').getData();
/* js/opensocial/opensocialreference/person.js Person Object */
var c;
c = '<h1>Owner\'s Information</h1>';
c += '<ol>';
c += '<li>ID:' + owner.getId() + '</li>';
c += '<li>NAME:' + owner.getDisplayName() + '</li>';
c += '<li>PROFILE_URL:' + getValue( owner, 'PROFILE_URL' ) + '</li>';
c += '<li>GENDER:' + getValue( owner, 'GENDER' ) + '</li>';
var jobStr='', addressStr='', urlStr='', interestStr='', schoolStr = '';
/**** person Interest info ****/
var interests = getValue( owner, 'INTERESTS' );
interests.each(function(interest){
interestStr += interest + '<br />';
});
/**** person Url info ****/
var urls = getValue( owner, 'URLS' );
urls.each(function(url){
urlStr += url.getField('type') + ' : ' + url.getField('address') + '<br />';
});
/**** person Address info ****/
var addresses = owner.getField('addresses');
addresses.each(function(address){
addressStr += address.getField('locality') + '<br />';
});
/**** person Jobs info****/
var jobs = getValue( owner, 'JOBS' );
jobs.each(function(job){
jobStr += job.getField('name') + ' : ' + job.getField('startDate') + ' ~ ' + job.getField('endDate') +
'<br />' + 'webpage : ' + job.getField('webpage' ) + '<br />';
});
/**** person Schools info****/
var schools = getValue( owner, 'SCHOOLS' );
schools.each(function(school){
schoolStr += school.getField('name') + ' : ' + school.getField('startDate') + ' ~ ' + school.getField('endDate');
});
/**** person dateOfBirth info****/
var dateofbirth= getValue( owner, 'DATE_OF_BIRTH' );
c += '<li>URL:' + urlStr + '</li>';
c += '<li>ADDRESS:' + addressStr + '</li>';
c += '<li>JOB:' + jobStr + '</li>';
c += '<li>SCHOOL:' + schoolStr+ '</li>';
c += '<li>INTERESTS:' + interestStr + '</li>';
c += '<li>DATE OF BIRTH:' + dateofbirth+ '</li>';
c += '</ol>';
cont.innerHTML = c;
}
</script>
]]>
</Content>
</Module>





