linkedIn api:我无法掌握语言能力

时间:2013-06-10 21:09:35

标签: php json linkedin

我正在成功地从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;

}

2 个答案:

答案 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)"