使用JavaScript和REST API检索LinkedIn个人资料图片

时间:2016-06-10 20:02:10

标签: javascript rest oauth linkedin restful-authentication

我目前正在我的网络应用程序上实施LinkedIn授权和登录功能,并且正在使用linkedin JavaScript Developer示例代码:

<script type="text/javascript" src="//platform.linkedin.com/in.js">
    api_key: YOUR_API_KEY_HERE
    authorize: true
    onLoad: onLinkedInLoad
</script>

<script type="text/javascript">

    // Setup an event listener to make an API call once auth is complete
    function onLinkedInLoad() {
        IN.Event.on(IN, "auth", getProfileData);
    }

    // Handle the successful return from the API call
    function onSuccess(data) {
        console.log(data);
    }

    // Handle an error response from the API call
    function onError(error) {
        console.log(error);
    }

    // Use the API call wrapper to request the member's basic profile data
    function getProfileData() {
        IN.API.Raw("/people/~").result(onSuccess).error(onError);
    }

</script>

此段代码使用getProfileData()方法中的raw()方法返回名字,姓氏,标题(作业标题说明)和id。

我现在正在尝试获取用户个人资料图片以便在我的应用程序上使用,并且无法弄清楚如何使用我已有的代码。 linkedIn开发人员站点提供了以下有关如何使用REST API执行此操作的示例:

https://api.linkedin.com/v1/people/~:(picture-url)?format=json

我从未使用过REST API,所以我无法弄清楚如何将这段代码实现到我现有的段中。如何使用现有的JS代码向此REST API代码发出请求,以便prorgam可以同时获取文本数据和用户图像?

1 个答案:

答案 0 :(得分:0)

如果您只想检索配置文件图像,则不需要JSON格式。只需使用

function onSuccess(data) {
     String imageUrl = "http://api.linkedin.com/v1/people/"+data.id+"/picture-url";
     //i.e. $("img").attr("src",imageUrl);
}

将{user-id}替换为实际的用户ID。通过授权方案后,您可以访问它。