Announcements

Help Wizard

Step 1

NEXT STEP

FAQs

Please see below the most popular frequently asked questions.

Loading article...

Loading faqs...

VIEW ALL

Ongoing Issues

Please see below the current ongoing issues which are under investigation.

Loading issue...

Loading ongoing issues...

VIEW ALL

Get no refreshtoken after refreshing an old token

Solved!

Get no refreshtoken after refreshing an old token

Plan

Free/Premium

Country

Germany

Operating System

Windows 10,etc.

 

My Question or Issue

Hey guys, anyone knows, why I dont get a new refresh token if I refresh a token?
The example answer in the docs is:

{
access_token: 'BQBLuPRYBQ...BP8stIv5xr-Iwaf4l8eg',
token_type: 'Bearer',
expires_in: 3600,
refresh_token: 'AQAQfyEFmJJuCvAFh...cG_m-2KTgNDaDMQqjrOa3',
scope: 'user-read-email user-read-private'
}


But the answer I get is just:
{
access_token: 'TOKEN',
token_type: 'Bearer',
expires_in: 3600,
scope: 'user-modify-playback-state user-read-playback-state user-read-currently-playing'
}

Here is my Code:

async function RefreshSpoToken() {



axios.post(TOKENendpoint, null, {
    params: {
        grant_type: 'refresh_token',
        refresh_token: `${SpotifyRefreshToken}`
    },
  headers: {
    'Content-Type': 'application/x-www-form-urlencoded',
    Authorization: `Basic ${authString}`
  },
})
  .then(response => {
    console.log(response.data);
    const NewaccessToken = response.data.access_token;
    const NewRefreshToken = response.data.refresh_token
    const filePath = path.join(__dirname, '.env');

    fs.readFile(filePath, 'utf8', (err, data) => {
        if (err) {
            console.error('Fehler beim lesen der Datei:', err);
            return;
        }

        let lines = data.split('\n')
        let changed = false;

        for (let i = 0; i < lines.length; i++) {
            if (lines[i].includes('SPOTIFYTOKEN')) {
                lines[i] = `SPOTIFYTOKEN=${NewaccessToken}`
                changed = true;
                break;
            }
        }

        if (!changed) {
            console.error('Die Zeile wurde nicht gefunden!');
            return;
        }

        const updatedContent = lines.join('\n')

        fs.writeFile(filePath, updatedContent, 'utf-8', (err) => {
            if (err) {
                console.error('Fehler beim finden der Datei:', err);
                return;
            }
            console.log('Die .env Datei wurde erfolgreich geändert!')
            let token = NewaccessToken
        });
    });

    fs.readFile(filePath, 'utf8', (err, data) => {
        if (err) {
            console.error('Fehler beim lesen der Datei:', err);
            return;
        }

        let lines = data.split('\n')
        let changed = false;

        for (let i = 0; i < lines.length; i++) {
            if (lines[i].includes('SPOTIFYREFRESHTOKEN')) {
                lines[i] = `SPOTIFYREFRESHTOKEN=${NewRefreshToken}`
                changed = true;
                break;
            }
        }

        if (!changed) {
            console.error('Die Zeile wurde nicht gefunden!');
            return;
        }

        const updatedContent = lines.join('\n')

        fs.writeFile(filePath, updatedContent, 'utf-8', (err) => {
            if (err) {
                console.error('Fehler beim finden der Datei:', err);
                return;
            }
            console.log('Die .env Datei wurde erfolgreich geändert!')
            let SpotifyRefreshToken = NewRefreshToken
        });
    });
  })
  .catch(error => {
    console.log('Fehler beim erneuern des Tokens! Fügen , error in Line 697 hinzu, für mehr Details!', error);
  });
};

Thankful for every help! 🙂
Reply

Accepted Solutions
Marked as solution

You can keep using the old refresh token until you get a new one. If you don't get a new one, the old one isn't expired yet. In my opinion, this should be (better) documented.

XimzendSpotify Star
Help others find this answer and click "Accept as Solution".
If you appreciate my answer, maybe give me a Like.
Note: I'm not a Spotify employee.

View solution in original post

2 Replies
Marked as solution

You can keep using the old refresh token until you get a new one. If you don't get a new one, the old one isn't expired yet. In my opinion, this should be (better) documented.

XimzendSpotify Star
Help others find this answer and click "Accept as Solution".
If you appreciate my answer, maybe give me a Like.
Note: I'm not a Spotify employee.

Oh wow, thank you again. Yeah, I've the same opinion like you in this sitioation. If smomeone never worked with that before it is kinda weird but thank you again^^

Suggested posts

Let's introduce ourselves!

Hey there you,   Yeah, you! 😁   Welcome - we're glad you joined the Spotify Community!   While you here, let's have a fun game and get…

ModeratorStaff / Moderator/ 4 years ago  in Social & Random