Hitting "Invalid OAuth token" whatever I call video or clips endpoint

Open graph works a bit odd on twitch, so better off using a validator than looking at the source. It can sometimes populate the tags after the page has loaded, which is why you are not seeing them in the source (try inspect element instead)

If you are manually copying the access token in not sure what you are doing wrong…

Step three returns

{"access_token":"myAccessToken","expires_in":15047,"refresh_token":"xxx","scope":["user:read:email"],"token_type":"bearer"}

So your header would be

$header[] = 'Authorization: Bearer myAccessToken';

Just that one part not the whole response.

Since the token was just generated, I’m don’t think it’s an expires issue