我成功地从linkedIn API收集用户信息.当我想获得语言熟练程度时,我的问题就出现了.它在文档(https://developer.linkedin.com/documents/profile-fields#languages)中表示,语言对象具有熟练成员,但我没有在响应中看到它.可能是我的错误?以下是来自api的语言对象的结构:
var_dump($user->languages->values[0]);
Run Code Online (Sandbox Code Playgroud)
输出:
object(stdClass)#10 (2)
{
["id"]=> int(10)
["language"]=> object(stdClass)#11 (1)
{
["name"]=> string(8) "Türkçe"
}
}
Run Code Online (Sandbox Code Playgroud)
这是我做的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;
Run Code Online (Sandbox Code Playgroud)
}
似乎语言字段选择器,尽管文档暗示它,默认情况下不会返回熟练程度.
尝试使用扩展的语言选择器.
$user = fetch('GET', '/v1/people/~:(firstName,lastName,positions,skills,languages:(id,language,proficiency),educations)');
Run Code Online (Sandbox Code Playgroud)
不幸的是,我没有运行API应用程序来测试此调用.