【问题标题】:Linkedin REST API Auth and JSAPI call, Rails/OmniauthLinkedin REST API Auth 和 JSAPI 调用,Rails/Omniauth
【发布时间】:2012-01-25 20:11:12
【问题描述】:

几天前我因为这个简单的问题而发脾气。你能帮我解决这个问题吗?

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

授权令牌

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

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

Cannot call method 'Profile' of undefined

当我在 REST auth 之后调用它时:

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

有什么想法吗?

【问题讨论】:

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


    【解决方案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>
    

    【讨论】:

    • 这里重要的部分是“授权:真”。谢谢克尔斯滕!
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2016-01-19
      • 2016-03-27
      • 2015-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-20
      • 2014-05-10
      • 1970-01-01
      相关资源
      最近更新 更多