【问题标题】:access JSON object returned from GET request访问 GET 请求返回的 JSON 对象
【发布时间】:2015-03-18 22:37:51
【问题描述】:

这个问题已经改变了我之前的问题。

如何访问我发出 GET 请求时返回的 JSON 对象。 这是对以下代码行的引用,即console.log('SUCCESS ' + result);。服务器中的日志读取SUCCESS [object Object]

另外,代码是不是有效的异步函数?

授权的一般顺序是... POST 请求 > 我从响应中保存数据 > 发出 GET 请求 > 返回 JSON 对象 >(现在要访问此数据)。

我将 get 请求放在 if / else 语句中。所以如果第一个请求(POST)成功,就会发出下一个请求(GET)

     Meteor.methods({
      getToken: function (authCode) {
      var queryParams = qs.stringify({grant_type: 'authorization_code', code: authCode, redirect_uri: 'http://localhost:3000/profile/', client_id: '87hjHJEBKD9J', client_secret: '8GIMSONNJ9d'});

//start POST request
  var result = HTTP.call("POST", "https://www.linkedin.com/uas/oauth2/accessToken?",
      {query: queryParams, data: "json"},
      function (error, result) {
      if (result.statusCode != 200) {
      console.log('post request failed');
      }
      console.log(result.data.access_token);
      var accessToken = result.data.access_token;
      var queryParamsOauth = qs.stringify({oauth2_access_token: accessToken});
//end POST request

//start GET request
      var result = HTTP.call("GET", "https://api.linkedin.com/v1/people/~:(id,first-name,last-name,headline,picture-url,industry,summary)?",
      {headers: { 'x-li-format': 'json' }, query: queryParamsOauth},
      function (error, result) {
      if (result.statusCode != 200) {
      console.log('FAILED' + error);
      }
      console.log('SUCCESS ' + result);
      });
 //end Get request
      });
      }
  });

get请求是来自https://developer.linkedin.com/documents/authentication的step.4

声明 JSON 对象的文档可用https://developer.linkedin.com/documents/api-requests-json

【问题讨论】:

    标签: json node.js parsing meteor get


    【解决方案1】:

    如果您只需要通过 LinkedIn 登录的客户,请尝试寻找合适的包。

    meteor search linkedin 快速生成 jonperl:accounts-linkedinpauli:accounts-linkedinyefim:accounts-linkedin。最近的似乎是泡利: https://github.com/PauliBuccini/meteor-accounts-linkedin/

    【讨论】:

    • 我没有使用他们的插件让用户登录我的应用程序。我正在尝试使用变量发出 POST 请求。我将编辑我的问题,因为linkedin 对问题并不重要,但要了解使用变量发出 HTTP POST 请求的方法。
    【解决方案2】:

    您是否阅读过 Meteor HTTP 包?我自己没用过,但看起来它可以做你想做的事情。

    http://docs.meteor.com/#/full/http

    【讨论】:

    • 我知道这一点,但它是我需要构建的 url。 url 由需要作为查询参数传递的变量确定。我称之为“authCode”的变量。这个变量的值是用户授权我的应用访问他们的linkedin数据后立即包含在url中的'code'参数。
    • 好的,取得进展...请查看我的 server.js 代码。我已将“authCode”变量传递给服务器并构造了完整的查询参数。这需要附加到主机名并制作完整的网址。
    猜你喜欢
    • 2021-02-03
    • 2016-06-03
    • 1970-01-01
    • 1970-01-01
    • 2018-12-18
    • 1970-01-01
    • 1970-01-01
    • 2020-06-20
    • 2021-09-11
    相关资源
    最近更新 更多