我正在成功地从linkedIn API收集用户信息。当我想获得语言熟练程度时,我的问题就出现了。它在文档(https://developer.linkedin.com/documents/profile-fields#languages)中表示语言对象具有熟练成员,但我没有在响应中看到它。可能是我的错误?下面是来自api的语言对象的结构:
var_dump($user->languages->values[0]);
输出:
object(stdClass)#10 (2)
{
["id"]=> int(10)
["language"]=> object(stdClass)#11 (1)
{
["name"]=> string(8) "Türkçe"
}
}
这是我做的api电话
$user = fetch('GET', '/v1/people/~:(firstName,lastName,positions,skills,languages,educations)');
function fetch($method, $resource, $body = '') {
$params = array('oauth2_access_token' => $_SESSION['access_token'],
'format' => 'json',
);
$url = 'https://api.linkedin.com' . $resource . '?' . http_build_query($params);
$context = stream_context_create(
array('http' =>
array('method' => $method,
)
)
);
$response = file_get_contents($url, false, $context);
$user = json_decode($response);
return $user;
}
答案 0 :(得分:5)
似乎语言字段选择器,尽管文档暗示它,但默认情况下不会返回熟练程度
尝试使用扩展的语言选择器。
$user = fetch('GET', '/v1/people/~:(firstName,lastName,positions,skills,languages:(id,language,proficiency),educations)');
不幸的是,我没有运行API应用程序来测试此调用。
答案 1 :(得分:0)
您必须像这样定义您的电话以获取详细信息:
"skills:(skill,proficiency,years),languages:(id,language,proficiency)"