The userinfo.endpoint is not designed or guaranteed to return the claimed every time. If you want to get the users email address every time and have included the email scope you should be going though the People api.
People.get
curl \
'https://people.googleapis.com/v1/people/me?personFields=emailAddresses' \
--header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
--header 'Accept: application/json' \
--compressed
response
{
"resourceName": "people/117200475532672775346",
"etag": "%EgUBCT43LhoEAQIFByIMR3BzQkR2cnI1ZGc9",
"emailAddresses": [
{
"metadata": {
"primary": true,
"verified": true,
"source": {
"type": "ACCOUNT",
"id": "117200475532672775346"
}
},
"value": "xxxx@gmail.com"
},
{
"metadata": {
"verified": true,
"source": {
"type": "PROFILE",
"id": "117200475532672775346"
}
},
"value": "xxxx@gmail.com",
"type": "home",
"formattedType": "Home"
},
{
"metadata": {
"source": {
"type": "CONTACT",
"id": "3faa96eb08baa4be"
}
},
"value": "xxxx@gmail.com",
"type": "home",
"formattedType": "Home"
},
{
"metadata": {
"source": {
"type": "CONTACT",
"id": "3faa96eb08baa4be"
}
},
"value": "xxxx@hotmail.com",
"type": "other",
"formattedType": "Other"
},
{
"metadata": {
"source": {
"type": "CONTACT",
"id": "3faa96eb08baa4be"
}
},
"value": "xxxx@daimto.com",
"type": "other",
"formattedType": "Other"
},
{
"metadata": {
"source": {
"type": "CONTACT",
"id": "3faa96eb08baa4be"
}
},
"value": "xxxx@eg.dk",
"type": "work",
"formattedType": "Work"
}
]
}
beyond that i think you should consider using the auth tab in postman and selecting, oauth2 then you should be able to add the client id and everything there. Which is much easier then swapping out all the codes yourself.