@pakoor/n8n-nodes-instagram 0.1.11 → 0.1.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/credentials/InstagramAccessTokenApi.credentials.js +3 -3
- package/dist/credentials/InstagramOAuth2Api.credentials.d.ts +0 -2
- package/dist/credentials/InstagramOAuth2Api.credentials.d.ts.map +1 -1
- package/dist/credentials/InstagramOAuth2Api.credentials.js +18 -20
- package/dist/credentials/InstagramOAuth2Api.credentials.js.map +1 -1
- package/dist/services/InstagramApiClient.d.ts +1 -1
- package/dist/services/InstagramApiClient.js +1 -1
- package/dist/services/InstagramHelpers.js +3 -3
- package/package.json +1 -1
|
@@ -36,7 +36,7 @@ class InstagramAccessTokenApi {
|
|
|
36
36
|
};
|
|
37
37
|
this.test = {
|
|
38
38
|
request: {
|
|
39
|
-
baseURL: 'https://graph.facebook.com/
|
|
39
|
+
baseURL: 'https://graph.facebook.com/v24.0',
|
|
40
40
|
url: '/me',
|
|
41
41
|
qs: {
|
|
42
42
|
fields: 'id,name',
|
|
@@ -63,7 +63,7 @@ class InstagramAccessTokenApi {
|
|
|
63
63
|
// First, try a simple API call to validate the token
|
|
64
64
|
await this.helpers.httpRequest({
|
|
65
65
|
method: 'GET',
|
|
66
|
-
url: 'https://graph.facebook.com/
|
|
66
|
+
url: 'https://graph.facebook.com/v24.0/me',
|
|
67
67
|
qs: {
|
|
68
68
|
fields: 'id,name',
|
|
69
69
|
access_token: accessToken,
|
|
@@ -76,7 +76,7 @@ class InstagramAccessTokenApi {
|
|
|
76
76
|
// Get pages connected to the user
|
|
77
77
|
const pagesResponse = await this.helpers.httpRequest({
|
|
78
78
|
method: 'GET',
|
|
79
|
-
url: 'https://graph.facebook.com/
|
|
79
|
+
url: 'https://graph.facebook.com/v24.0/me/accounts',
|
|
80
80
|
qs: {
|
|
81
81
|
fields: 'instagram_business_account,id,name',
|
|
82
82
|
access_token: accessToken,
|
|
@@ -7,12 +7,10 @@ export declare class InstagramOAuth2Api implements ICredentialType {
|
|
|
7
7
|
properties: INodeProperties[];
|
|
8
8
|
/**
|
|
9
9
|
* Authenticate requests by adding access token to query string
|
|
10
|
-
* Uses longLivedToken if available, otherwise falls back to oauthTokenData.access_token
|
|
11
10
|
*/
|
|
12
11
|
authenticate: IAuthenticateGeneric;
|
|
13
12
|
/**
|
|
14
13
|
* Pre-authentication hook that exchanges short-lived OAuth token for a long-lived token
|
|
15
|
-
* and refreshes it when near expiration.
|
|
16
14
|
*/
|
|
17
15
|
preAuthentication(this: IHttpRequestHelper, credentials: ICredentialDataDecryptedObject): Promise<IDataObject>;
|
|
18
16
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstagramOAuth2Api.credentials.d.ts","sourceRoot":"","sources":["../../src/credentials/InstagramOAuth2Api.credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,8BAA8B,EAC9B,sBAAsB,EACtB,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,eAAe,EAChB,MAAM,cAAc,CAAC;AAEtB,qBAAa,kBAAmB,YAAW,eAAe;IACxD,IAAI,SAAwB;IAC5B,OAAO,WAAiB;IACxB,WAAW,SAA0B;IACrC,gBAAgB,
|
|
1
|
+
{"version":3,"file":"InstagramOAuth2Api.credentials.d.ts","sourceRoot":"","sources":["../../src/credentials/InstagramOAuth2Api.credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,8BAA8B,EAC9B,sBAAsB,EACtB,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,eAAe,EAChB,MAAM,cAAc,CAAC;AAEtB,qBAAa,kBAAmB,YAAW,eAAe;IACxD,IAAI,SAAwB;IAC5B,OAAO,WAAiB;IACxB,WAAW,SAA0B;IACrC,gBAAgB,SAA+G;IAE/H,UAAU,EAAE,eAAe,EAAE,CAqF3B;IAEF;;OAEG;IACH,YAAY,EAAE,oBAAoB,CAOhC;IAEF;;OAEG;IACG,iBAAiB,CACrB,IAAI,EAAE,kBAAkB,EACxB,WAAW,EAAE,8BAA8B,GAC1C,OAAO,CAAC,WAAW,CAAC;IAsEvB;;OAEG;IACH,IAAI,EAAE,sBAAsB,CAS1B;CACH"}
|
|
@@ -6,7 +6,7 @@ class InstagramOAuth2Api {
|
|
|
6
6
|
this.name = 'instagramOAuth2Api';
|
|
7
7
|
this.extends = ['oAuth2Api'];
|
|
8
8
|
this.displayName = 'Instagram OAuth2 API';
|
|
9
|
-
this.documentationUrl = 'https://developers.facebook.com/docs/instagram-api/
|
|
9
|
+
this.documentationUrl = 'https://developers.facebook.com/docs/instagram-platform/instagram-api-with-instagram-login/business-login';
|
|
10
10
|
this.properties = [
|
|
11
11
|
{
|
|
12
12
|
displayName: 'Grant Type',
|
|
@@ -18,25 +18,25 @@ class InstagramOAuth2Api {
|
|
|
18
18
|
displayName: 'Authorization URL',
|
|
19
19
|
name: 'authUrl',
|
|
20
20
|
type: 'hidden',
|
|
21
|
-
default: 'https://www.facebook.com/
|
|
21
|
+
default: 'https://www.facebook.com/v24.0/dialog/oauth',
|
|
22
22
|
},
|
|
23
23
|
{
|
|
24
24
|
displayName: 'Access Token URL',
|
|
25
25
|
name: 'accessTokenUrl',
|
|
26
26
|
type: 'hidden',
|
|
27
|
-
default: 'https://graph.facebook.com/
|
|
27
|
+
default: 'https://graph.facebook.com/v24.0/oauth/access_token',
|
|
28
28
|
},
|
|
29
29
|
{
|
|
30
30
|
displayName: 'Scope',
|
|
31
31
|
name: 'scope',
|
|
32
32
|
type: 'hidden',
|
|
33
|
-
default: 'instagram_basic,instagram_content_publish,instagram_manage_comments,instagram_manage_messages,pages_show_list,pages_read_engagement
|
|
33
|
+
default: 'instagram_basic,instagram_content_publish,instagram_manage_comments,instagram_manage_messages,pages_show_list,pages_read_engagement',
|
|
34
34
|
},
|
|
35
35
|
{
|
|
36
36
|
displayName: 'Auth URI Query Parameters',
|
|
37
37
|
name: 'authQueryParameters',
|
|
38
38
|
type: 'hidden',
|
|
39
|
-
default: '',
|
|
39
|
+
default: 'display=page&extras={"setup":{"channel":"IG_API_ONBOARDING"}}',
|
|
40
40
|
},
|
|
41
41
|
{
|
|
42
42
|
displayName: 'Authentication',
|
|
@@ -50,7 +50,7 @@ class InstagramOAuth2Api {
|
|
|
50
50
|
type: 'string',
|
|
51
51
|
default: '',
|
|
52
52
|
required: true,
|
|
53
|
-
description: 'The App ID from your Meta Developer Console',
|
|
53
|
+
description: 'The App ID from your Meta Developer Console. Go to App Settings > Basic to find it.',
|
|
54
54
|
},
|
|
55
55
|
{
|
|
56
56
|
displayName: 'Client Secret (App Secret)',
|
|
@@ -59,14 +59,14 @@ class InstagramOAuth2Api {
|
|
|
59
59
|
typeOptions: { password: true },
|
|
60
60
|
default: '',
|
|
61
61
|
required: true,
|
|
62
|
-
description: 'The App Secret from your Meta Developer Console',
|
|
62
|
+
description: 'The App Secret from your Meta Developer Console. Go to App Settings > Basic to find it.',
|
|
63
63
|
},
|
|
64
64
|
{
|
|
65
|
-
displayName: '
|
|
66
|
-
name: '
|
|
65
|
+
displayName: 'Setup Instructions',
|
|
66
|
+
name: 'setupNotice',
|
|
67
67
|
type: 'notice',
|
|
68
68
|
default: '',
|
|
69
|
-
description: '
|
|
69
|
+
description: 'Before connecting: 1) In Meta Developer Console, add "Facebook Login for Business" product. 2) Go to Facebook Login > Settings and add your n8n OAuth callback URL to "Valid OAuth Redirect URIs". 3) Make sure your app has instagram_basic and pages_show_list permissions.',
|
|
70
70
|
},
|
|
71
71
|
{
|
|
72
72
|
displayName: 'Webhook Verify Token',
|
|
@@ -76,7 +76,6 @@ class InstagramOAuth2Api {
|
|
|
76
76
|
default: '',
|
|
77
77
|
required: false,
|
|
78
78
|
description: 'Optional: Custom verification token for webhook setup. Only needed if using Instagram Trigger node.',
|
|
79
|
-
placeholder: 'my_custom_verify_token_2024',
|
|
80
79
|
},
|
|
81
80
|
{
|
|
82
81
|
displayName: 'Long-Lived Token',
|
|
@@ -96,7 +95,6 @@ class InstagramOAuth2Api {
|
|
|
96
95
|
];
|
|
97
96
|
/**
|
|
98
97
|
* Authenticate requests by adding access token to query string
|
|
99
|
-
* Uses longLivedToken if available, otherwise falls back to oauthTokenData.access_token
|
|
100
98
|
*/
|
|
101
99
|
this.authenticate = {
|
|
102
100
|
type: 'generic',
|
|
@@ -111,7 +109,7 @@ class InstagramOAuth2Api {
|
|
|
111
109
|
*/
|
|
112
110
|
this.test = {
|
|
113
111
|
request: {
|
|
114
|
-
baseURL: 'https://graph.facebook.com/
|
|
112
|
+
baseURL: 'https://graph.facebook.com/v24.0',
|
|
115
113
|
url: '/me',
|
|
116
114
|
method: 'GET',
|
|
117
115
|
qs: {
|
|
@@ -122,12 +120,12 @@ class InstagramOAuth2Api {
|
|
|
122
120
|
}
|
|
123
121
|
/**
|
|
124
122
|
* Pre-authentication hook that exchanges short-lived OAuth token for a long-lived token
|
|
125
|
-
* and refreshes it when near expiration.
|
|
126
123
|
*/
|
|
127
124
|
async preAuthentication(credentials) {
|
|
128
125
|
const now = Math.floor(Date.now() / 1000);
|
|
129
126
|
const longLivedToken = credentials.longLivedToken;
|
|
130
127
|
const tokenExpiresAt = credentials.tokenExpiresAt || 0;
|
|
128
|
+
const clientId = credentials.clientId;
|
|
131
129
|
const clientSecret = credentials.clientSecret;
|
|
132
130
|
const oauthTokenData = credentials.oauthTokenData;
|
|
133
131
|
const shortLivedToken = oauthTokenData?.access_token;
|
|
@@ -137,17 +135,17 @@ class InstagramOAuth2Api {
|
|
|
137
135
|
if (tokenExpiresAt > now + sevenDaysInSeconds) {
|
|
138
136
|
return {};
|
|
139
137
|
}
|
|
140
|
-
// Token near expiration, try to refresh
|
|
138
|
+
// Token near expiration, try to refresh
|
|
141
139
|
const totalLifetime = 60 * 24 * 60 * 60;
|
|
142
140
|
const tokenAge = now - (tokenExpiresAt - totalLifetime);
|
|
143
141
|
if (tokenAge >= 24 * 60 * 60) {
|
|
144
142
|
try {
|
|
145
143
|
const refreshed = (await this.helpers.httpRequest({
|
|
146
144
|
method: 'GET',
|
|
147
|
-
url: 'https://graph.facebook.com/
|
|
145
|
+
url: 'https://graph.facebook.com/v24.0/oauth/access_token',
|
|
148
146
|
qs: {
|
|
149
147
|
grant_type: 'fb_exchange_token',
|
|
150
|
-
client_id:
|
|
148
|
+
client_id: clientId,
|
|
151
149
|
client_secret: clientSecret,
|
|
152
150
|
fb_exchange_token: longLivedToken,
|
|
153
151
|
},
|
|
@@ -163,17 +161,17 @@ class InstagramOAuth2Api {
|
|
|
163
161
|
}
|
|
164
162
|
return {};
|
|
165
163
|
}
|
|
166
|
-
// No long-lived token - exchange short-lived for long-lived
|
|
164
|
+
// No long-lived token - exchange short-lived for long-lived
|
|
167
165
|
if (!shortLivedToken) {
|
|
168
166
|
return {};
|
|
169
167
|
}
|
|
170
168
|
try {
|
|
171
169
|
const exchanged = (await this.helpers.httpRequest({
|
|
172
170
|
method: 'GET',
|
|
173
|
-
url: 'https://graph.facebook.com/
|
|
171
|
+
url: 'https://graph.facebook.com/v24.0/oauth/access_token',
|
|
174
172
|
qs: {
|
|
175
173
|
grant_type: 'fb_exchange_token',
|
|
176
|
-
client_id:
|
|
174
|
+
client_id: clientId,
|
|
177
175
|
client_secret: clientSecret,
|
|
178
176
|
fb_exchange_token: shortLivedToken,
|
|
179
177
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstagramOAuth2Api.credentials.js","sourceRoot":"","sources":["../../src/credentials/InstagramOAuth2Api.credentials.ts"],"names":[],"mappings":";;;AAUA,MAAa,kBAAkB;IAA/B;QACE,SAAI,GAAG,oBAAoB,CAAC;QAC5B,YAAO,GAAG,CAAC,WAAW,CAAC,CAAC;QACxB,gBAAW,GAAG,sBAAsB,CAAC;QACrC,qBAAgB,GAAG,
|
|
1
|
+
{"version":3,"file":"InstagramOAuth2Api.credentials.js","sourceRoot":"","sources":["../../src/credentials/InstagramOAuth2Api.credentials.ts"],"names":[],"mappings":"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"}
|
|
@@ -129,7 +129,7 @@ export declare class InstagramApiError extends Error {
|
|
|
129
129
|
toJSON(): IInstagramError;
|
|
130
130
|
}
|
|
131
131
|
export declare class InstagramApiClient {
|
|
132
|
-
protected readonly baseUrl = "https://graph.facebook.com/
|
|
132
|
+
protected readonly baseUrl = "https://graph.facebook.com/v24.0";
|
|
133
133
|
protected readonly accessToken: string;
|
|
134
134
|
protected readonly accountId: string;
|
|
135
135
|
constructor(accessToken: string, accountId: string);
|
|
@@ -34,7 +34,7 @@ class InstagramApiError extends Error {
|
|
|
34
34
|
exports.InstagramApiError = InstagramApiError;
|
|
35
35
|
class InstagramApiClient {
|
|
36
36
|
constructor(accessToken, accountId) {
|
|
37
|
-
this.baseUrl = 'https://graph.facebook.com/
|
|
37
|
+
this.baseUrl = 'https://graph.facebook.com/v24.0';
|
|
38
38
|
this.accessToken = accessToken;
|
|
39
39
|
this.accountId = accountId;
|
|
40
40
|
}
|
|
@@ -100,7 +100,7 @@ async function getInstagramBusinessAccountId() {
|
|
|
100
100
|
try {
|
|
101
101
|
const directResponse = (await this.helpers.request({
|
|
102
102
|
method: 'GET',
|
|
103
|
-
url: 'https://graph.instagram.com/
|
|
103
|
+
url: 'https://graph.instagram.com/v24.0/me',
|
|
104
104
|
qs: {
|
|
105
105
|
fields: 'id,username',
|
|
106
106
|
access_token: accessToken,
|
|
@@ -117,7 +117,7 @@ async function getInstagramBusinessAccountId() {
|
|
|
117
117
|
// Get pages connected to the user via Facebook Graph API
|
|
118
118
|
const pagesResponse = (await this.helpers.request({
|
|
119
119
|
method: 'GET',
|
|
120
|
-
url: 'https://graph.facebook.com/
|
|
120
|
+
url: 'https://graph.facebook.com/v24.0/me/accounts',
|
|
121
121
|
qs: {
|
|
122
122
|
fields: 'instagram_business_account{id,username},id,name',
|
|
123
123
|
access_token: accessToken,
|
|
@@ -163,7 +163,7 @@ async function instagramApiRequest(method, endpoint, body = {}, qs = {}) {
|
|
|
163
163
|
access_token: accessToken,
|
|
164
164
|
},
|
|
165
165
|
// Use Facebook Graph API for Instagram Business accounts
|
|
166
|
-
url: `https://graph.facebook.com/
|
|
166
|
+
url: `https://graph.facebook.com/v24.0${endpoint}`,
|
|
167
167
|
json: true,
|
|
168
168
|
};
|
|
169
169
|
if (Object.keys(body).length === 0) {
|