@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.
@@ -36,7 +36,7 @@ class InstagramAccessTokenApi {
36
36
  };
37
37
  this.test = {
38
38
  request: {
39
- baseURL: 'https://graph.facebook.com/v23.0',
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/v23.0/me',
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/v23.0/me/accounts',
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,SAAwE;IAExF,UAAU,EAAE,eAAe,EAAE,CAyF3B;IAEF;;;OAGG;IACH,YAAY,EAAE,oBAAoB,CAOhC;IAEF;;;OAGG;IACG,iBAAiB,CACrB,IAAI,EAAE,kBAAkB,EACxB,WAAW,EAAE,8BAA8B,GAC1C,OAAO,CAAC,WAAW,CAAC;IAqEvB;;OAEG;IACH,IAAI,EAAE,sBAAsB,CAS1B;CACH"}
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/getting-started';
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/v23.0/dialog/oauth',
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/v23.0/oauth/access_token',
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,business_management',
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: 'Account Information',
66
- name: 'accountInfoNotice',
65
+ displayName: 'Setup Instructions',
66
+ name: 'setupNotice',
67
67
  type: 'notice',
68
68
  default: '',
69
- description: 'After connecting your account, your Instagram Business Account details (username, ID, profile) will be automatically available. The system will automatically exchange your OAuth token for a long-lived token (60 days).',
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/v23.0',
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 using Facebook Graph API
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/v23.0/oauth/access_token',
145
+ url: 'https://graph.facebook.com/v24.0/oauth/access_token',
148
146
  qs: {
149
147
  grant_type: 'fb_exchange_token',
150
- client_id: credentials.clientId,
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 using Facebook Graph API
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/v23.0/oauth/access_token',
171
+ url: 'https://graph.facebook.com/v24.0/oauth/access_token',
174
172
  qs: {
175
173
  grant_type: 'fb_exchange_token',
176
- client_id: credentials.clientId,
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":"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"}
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/v23.0";
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/v23.0';
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/v23.0/me',
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/v23.0/me/accounts',
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/v23.0${endpoint}`,
166
+ url: `https://graph.facebook.com/v24.0${endpoint}`,
167
167
  json: true,
168
168
  };
169
169
  if (Object.keys(body).length === 0) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pakoor/n8n-nodes-instagram",
3
- "version": "0.1.11",
3
+ "version": "0.1.12",
4
4
  "description": "n8n community node for Instagram Messaging API integration",
5
5
  "keywords": [
6
6
  "n8n-community-node-package",