Linkedin REST API Auth和JSAPI调用,Rails / Omniauth

时间:2012-01-24 14:55:55

标签: ruby-on-rails omniauth linkedin linkedin-j

由于这个简单的问题,我几天前发脾气。你能帮我解决这个问题吗?

我想,因为它是在这里的Linkedin JS API文档中编写的,所以能够使用REST进行注册并使用JSAPI启动调用: https://developer.linkedin.com/documents/inauth-inevent-and-inui

  

授权代币

     

虽然为JSAPI验证用户的最简单方法是   使用其中一个登录按钮,一些网站已经实现了OAuth   1.0 API REST API使用的流程。无论您为用户使用哪种类型的身份验证,JSAPI都会识别该成员已经存在   登录,只要密钥和主机名相同即可。有时候是这样的   自动,开发人员不需要额外的代码。

但这不起作用,我有这个奇怪的控制台错误:

Cannot call method 'Profile' of undefined

当我在REST身份验证后调用此权限时:

IN.API.Profile("me").fields(["id", "..."]).result(linkedin_connect_save);

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

该控制台错误与身份验证没有任何关系 - 我猜你正在加载另一个干扰LinkedIn框架的javascript框架,并且IN对象没有正确加载。

以下页面使用我之前使用REST在同一浏览器中验证过的密钥:http://developer.linkedinlabs.com/tutorials/testing.html

<html>
<head>
  <title>Connections App Example</title>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body class="yui3-skin-sam  yui-skin-sam">
<script type="text/javascript" src="http://platform.linkedin.com/in.js">
  api_key: MY_API_KEY
  onLoad: loadData
  authorize: true
</script>
<script type="text/javascript">
function loadData() {
IN.API.PeopleSearch()
       .fields("firstName", "lastName", "distance", "publicProfileUrl","pictureUrl")
       .params({"keywords": "princess", "count": 10, "sort": "distance"})
       .result(function(result) {
           alert(JSON.stringify(result));
});
}
</script>
</body>
</html>

答案 1 :(得分:0)

您的代码可能会在js加载之前调用.. 在代码之前包含js ..