peopleAPI.jsComments | Code |
---|---|
| var PEOPLE_RESOURCE = "people";
// standardPersonFields: ":(id,first-name,last-name,formatted-name,headline,picture-url,auth-token,distance)"; |
Profile: Get a user's profile. If no id is passed, view your own profile. If no authToken is provided, you can view profiles within your 1st degree connections. If viewing outside of your connections, provide an authToken (received via search, for example)
Example: var Lin = require('lin'); var api = Lin.api('v1','peopleAPI','profile', {id:"15003820", authToken:'NAME:Yc02'}); | function profile(options) {
if (!options) options = {};
var url = ["people/"];
url.push(options.id || "~");
url.push(options.fields || ":(" + standardPersonFields() + ")");
var params = [];
var headers = (options && options.headers) ? options.headers : {"x-li-format":"json"};
if (options.authToken) {
params.push("auth-token=" + options.authToken);
headers['x-li-auth-token'] = options.authToken;
}
if (options.start) params.push("start=" + options.start);
if (options.count) params.push("count=" + options.count);
if (params.length > 0) {
url.push("?");
url.push(params.join('&'));
}
var palRequest = {method:'GET', path:url.join(''), headers:headers, resource:PEOPLE_RESOURCE};
return palRequest;
} |
Connections: Get a user's first-degree connections:
Example: var Lin = require('lin'); var api = Lin.api('v1','peopleAPI','connections', {id:"15003820"}); | function connections(options) {
var url = ["people/"];
url.push(options.id || "~");
url.push("/connections");
url.push(options.fields || ":(" + standardPersonFields() + ")");
var params = [];
if (options.start) params.push("start=" + options.start);
if (options.count) params.push("count=" + options.count);
if (options.since) params.push("modified-since=" + options.since);
if (options.modified) params.push("modified=" + options.modified);
if (params.length > 0) {
url.push("?");
url.push(params.join('&'));
}
var headers = (options && options.headers) ? options.headers : {"x-li-format":"json"};
return {method:'GET', path:url.join(''), headers:headers, resource:PEOPLE_RESOURCE};
}
function dasherize(str) {
return str.replace(/([A-Z])/g, function($1){return "-"+$1.toLowerCase();});
} |
Search: Search for peoplehttp://developer.linkedin.com/docs/DOC-1191 ":(people:(id,first-name,last-name,formatted-name,formatted-phonetic-name,picture-url,headline),facets:(code,buckets:(code,name)))"
Example: var Lin = require('lin'); var api = Lin.api('v1','peopleAPI','search', {keywords:"Alex Zoff"}); | function search(options) {
var fields = options.fields ? options.fields : ":(people:(" + standardPersonFields() + "))";
var params = [];
var keys = ["keywords","firstName","lastName","companyName", "currentCompany","title","currentTitle","schoolName",
"currentSchool","countryCode","postalCode","distance","start","count","sort"];
for(var i in keys) {
if (options[keys[i]]) params.push(dasherize(keys[i]) + "=" + encodeURI(options[keys[i]]));
}
if (options.networkOptions) {
params.push("facet=network," + options.networkOptions);
}
var url = ["people-search"];
url.push(fields);
if (params.length > 0) url.push("?");
url.push(params.join('&'));
var headers = (options && options.headers) ? options.headers : {"x-li-format":"json"};
return {method:'GET', path:url.join(''), headers:headers, resource:PEOPLE_RESOURCE};
}
// ====== PUBLIC ==============================================================
var interface = {
profile: profile,
connections: connections,
search: search
};
module.exports = interface;
|