2014-07-18 73 views
0

我试图让个人信息woth指定字段:的OpenSocial newFetchPeopleRequest忽略参数

var params = {}; 
params[opensocial.DataRequest.PeopleRequestFields.PROFILE_DETAILS] = [ 
    opensocial.Person.Field.NICKNAME, 
    opensocial.Person.Field.PROFILE_URL, 
    opensocial.Person.Field.GENDER, 
    opensocial.Person.Field.THUMBNAIL_URL, 
    opensocial.Person.Field.ADDRESSES, 
    opensocial.Person.Field.DATE_OF_BIRTH 
]; 

params[opensocial.IdSpec.Field.USER_ID] = ids; 
var idSpec = opensocial.newIdSpec(params); 
var req = opensocial.newDataRequest(); 
req.add(req.newFetchPeopleRequest(idSpec), "profiles"); 

但在性反应,任何人字段我设置了,我总是得到相同的字段集的回报:

显示名,ID,isOwner,isViewer,昵称,thumbnailUrl

如何获得所需的字段?

UPD: 如果这很重要,我正在使用的社交网络是yahoo mobage。

+0

请参阅https://docs.mobage.com/display/JPPC/opensocial.Person - 没有字段“ADDRESS”,只有“ADDRESSES”。 –

+0

thx for responce。但是这是在这个帖子输入过程中juset字面错误。 – SentineL

回答

2

您正在填充params对象,但实际上并未在请求中使用它。你只是在opensocial.newIdSpec()调用中使用它,它会给你一个IdSpec对象。但是,如果您查看documentation of the IdSpec object - 这个只有用户相关的字段,则会忽略其他数据。你实际上应该通过在paramsnewFetchPeopleRequest()电话:

req.add(req.newFetchPeopleRequest(idSpec, params), "profiles"); 

参考:opensocial.DataRequest.newFetchPeopleRequest method