OpenSocialTutorial-6

IDtail.com API

Jump to: navigation, 찾기

[편집] 프로파일 필드 목록

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>

이전 페이지 | 다음 페이지