Do GitHub raw urls expire?

That token comes from using OAuth with Git

https://<oauth-secret>:[email protected]/<me>/<repo>/master/<file>

The raw.githubusercontent.com/<me>/<repo>/master/<file> part does not expire.
But it is to type 'y' before clicking 'Raw' on the GitHub page, in order to get the SHA1 as part of the url: that way, you are sure to reference always the same file version.

https://<oauth-secret>:[email protected]/<me>/<repo>/<sha1>/<file>
                              ^                                             ^^^^

The token part does not "expire" (but it can be deleted or revoked)


Please look at this API document, https://developer.github.com/v3/repos/contents/.

The URL should be:

curl -H 'Accept: application/vnd.github.VERSION.raw' -k \
https://{{githubhost}}/api/v3/repos/{{org}}/{{repo}}/contents/{{path}}?access_token=xxxx

It worked for me:

  • The access_token is personal access token.
  • And the path canbe a file or dir.

No one has clearly mentioned this, but the github raw urls expire in 7 days.

You can use longer lasting personal access tokens generated here: https://github.com/settings/tokens but those can only be used via curl:

curl -H 'Authorization: token <personal_token>' <raw_url>

Note that the personal access tokens expire if unused for an entire year.

Tags:

Github