【发布时间】: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