Integrate full instagram oauth

This commit is contained in:
2025-11-09 11:59:36 +01:00
parent d6ba7c595a
commit 8ca2bc9909
6 changed files with 79 additions and 73 deletions

View File

@@ -24,8 +24,7 @@ export class InstagramTokenManager extends BaseTokenManager {
+ "&response_type=code";
}
async generate(code) {
async generateShortLivedToken(code){
let headers = {
"Content-Type": "application/x-www-form-urlencoded"
};
@@ -40,11 +39,14 @@ export class InstagramTokenManager extends BaseTokenManager {
let encodedBody = new URLSearchParams(body);
let shortLiveAccessTokenData = await Requester.doPostRequest(
return await Requester.doPostRequest(
"https://api.instagram.com/oauth/access_token", headers, encodedBody);
}
let userId = shortLiveAccessTokenData.user_id;
let shortLiveAccessToken = shortLiveAccessTokenData.access_token;
async generateLongLivedToken(shortLivedToken) {
let userId = shortLivedToken.user_id;
let shortLiveAccessToken = shortLivedToken.access_token;
let longLiveAccessTokenData = await Requester.doGetRequest(
"https://graph.instagram.com/access_token?grant_type=ig_exchange_token" +

View File

@@ -29,7 +29,7 @@ export class Logger{
await mkdir(logsDir, { recursive: true });
await appendFile(fullPath, `${time} - ${message} -> ${JSON.stringify(error)} \n`);
await appendFile(fullPath, `${time} - ${message} -> ${error.message} \n`);
console.error(`An error occured. The incident has been logged in ${fullPath}`)
} catch (err) {
console.error("Error writing log:", err);

View File

@@ -24,12 +24,18 @@ export class Requester {
headers: headers,
body: body
})
.then(response => response.json())
.then(async response => {
if (!response.ok) {
throw new Error(`HTTP ${response.status} ${response.statusText} : ${await response.text()}`);
}
return response.json()
})
.then(data => {
return data;
})
.catch(error => {
Logger.error(`Unable to fetch`, error);
throw error;
});
}
}