如何在使用 Instagram 时在 Meteor 中请求、存储和使用访问令牌 API

How to request, store, and use an access token in Meteor while using the Instagram API

如何在 Meteor 框架中请求、存储和使用来自 API 的访问令牌?我目前正在尝试从 (Instagram API)[https://instagram.com/developer/authentication/] 发出请求,但我首先需要请求访问令牌并将其存储以备后用。

这样做的一般结构是什么?我将我的客户端 ID 和客户端密码存储在 settings.json 中,并加载了服务配置包。我想我需要使用 http.get 创建某种方法,但如果有人能给出一个简短的演练,我将不胜感激!在 Meteor 文档中对此没有太多介绍。

您可以为此使用 Bozhao 包。

只需安装即可。

meteor add bozhao:accounts-instagram

这将完全像核心帐户一样工作 - facebook || google ||推特

你可以在 accountsOnCreateUser 方法

上做这样的事情
if (user.services.instagram) {
    console.log("-- REGISTED USER WITH INSTAGRAM ");
    instagramProfile = {
      socialProfileUrl: user.services.instagram.profile_picture,
      socialName: user.services.instagram.full_name,
      service: "Instagram",
      profileUrl: "https://instagram.com/"+ user.services.instagram.username
    };
user.profile = instagramProfile;
}

现在知道了这一点,您可以看到我们在 user.services.instagram 对象中有用户数据,应该有一个 accessToken 和 id 字段,您可以向 POST / GET http 请求 https://instagram.com/api/v1/.

我从来没有向 Instagram 发送过 HTTP 请求 API 但它应该类似于 facebook(如果不是很抱歉,下面的代码对您帮助不大)。

使用参数的简单 http 调用。

Meteor.http.get("https://instagram.com/api/v1/", {
      headers: {
        "User-Agent": "Meteor/1.0"
      },
      params: {
        access_token: user.services.accessToken
      }
    },function(error,result){
      if(!error){
        console.log(result);
      }
    });