【问题标题】:Trying to post image to Instagram from a Javascript using Instagram API尝试使用 Instagram API 从 Javascript 将图像发布到 Instagram
【发布时间】:2022-07-25 14:42:13
【问题描述】:

我在 Google App Scripts 中执行此操作。看起来很简单,所以我首先设置了元开发者信息,并创建了一个 Instagram 测试用户并创建了一个有效的长期令牌供该帐户使用。

var userID = "139**********890";
// a fresh Instagram API Long Live Access Token
var accessToken = "IGQVJWRzBzWGp2d1hIUThZ*****************************************************************************************************************cWVFclczbDBmTEx0U1B2RAZDZD";

function insertPost3() {
    var formData = {
    'image_url': "https://drive.google.com/uc?id=10QubQQV218reR2qSQ-9qA0QmrOoYoCIL&export=download",
    'caption': "here is sample text",
    'access_token': accessToken
  };
  var options = {
    'method' : 'post',
    'payload' : formData,
    'muteHttpExceptions' : true
  };
  const container = 'https://graph.facebook.com/' + userID + '/media';

  Logger.log(container);

  const response = UrlFetchApp.fetch(container, options);

  const creation = response.getContentText();
  var data = JSON.parse(creation);
  var creationId = data.id
  var formDataPublish = {
      'creation_id': creationId,
      'access_token': accessToken
  };
  var optionsPublish = {
    'method' : 'post',
    'payload' : formDataPublish
  };
  const sendinstagram = 'https://graph.facebook.com/' + userID + '/media_publish';
  
  UrlFetchApp.fetch(sendinstagram, optionsPublish);
}

即使使用 muteHttpExceptions,也只会返回一般错误。不知道如何继续。

Exception: Request failed for https://graph.facebook.com returned code 400. Truncated server response: {"error":{"message":"Invalid OAuth access token.","type":"OAuthException","code":190,"fbtrace_id":"AhuSzful3sLsd7qKziJH6Oi"}} (use muteHttpExceptions option to examine full response)

任何想法、示例代码或可供阅读的资源都会很棒。

这是我用来执行此操作的指南之一:https://developers.facebook.com/docs/instagram-api/guides/content-publishing/

感谢您的帮助!!

【问题讨论】:

  • 重新检查 userId 和 accessToken
  • 谢谢!我在网上找到了许多不同的文档,它们展示了查找要使用的用户 ID 的方法,但它们都不起作用。我看到这个 URL 将所有用户数据的 JSON 响应返回给你,我也尝试了其中的 ID,但没有运气。 instagram.com/phiofkhem/?__a=1 还有其他想法吗?我在“Instagram 基本显示”-> 用户令牌生成器中创建了令牌并生成了一个长期存在的令牌。这应该可以,只是不确定我是否使用了正确的用户 ID?感谢您的帮助!
  • @Phi of Khem 感谢您的回复。来自Does anyone know where to get the UserID?,不幸的是,我无法理解。所以我明白我的回答对你的问题没有用。所以我必须删除我的答案。因为我不想混淆其他用户。这是因为我的技术不好。我对此深表歉意。如果您能原谅我糟糕的英语水平,我将不胜感激。
  • 没有你的回答肯定有帮助,没有理由删除我的朋友!我只是想确认我使用的用户 ID 是用于 API 调用的正确用户 ID。换句话说,成功的人如何使用他们的 Instagram 用户 ID?我正在使用从网站生成的用户令牌,它也应该适用于这个调用,对吗?谢谢你的帮助!!

标签: javascript google-apps-script instagram-api instagram-graph-api facebook-graph-api-v2.0


【解决方案1】:

获取 instagram id(从获取帐户详细信息)。

获取 Long Live 用户访问令牌。

获取 Long Live 页面访问令牌。

使用页面访问令牌上传图片。请注意,此 LLPAT 需要在 URL 中一起使用访问令牌。它将返回媒体 ID

使用媒体 ID 创建带有标题的 insta 帖子

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-22
    • 1970-01-01
    相关资源
    最近更新 更多