Skip to content

Instantly share code, notes, and snippets.

@joshisumit
Last active April 5, 2024 17:38
Show Gist options
  • Save joshisumit/35e9ee3e68e5210af331 to your computer and use it in GitHub Desktop.
Save joshisumit/35e9ee3e68e5210af331 to your computer and use it in GitHub Desktop.
Create GIST from your python code with python requests module and OAuth token.
'''
HTTP Reuests has following parameters:
1)Request URL
2)Header Fields
3)Parameter
4)Request body
'''
#!/usr/bin/env python
import requests
import json
GITHUB_API="https://api.github.com"
API_TOKEN='your_token_goes_here'
#form a request URL
url=GITHUB_API+"/gists"
print "Request URL: %s"%url
#print headers,parameters,payload
headers={'Authorization':'token %s'%API_TOKEN}
params={'scope':'gist'}
payload={"description":"GIST created by python code","public":True,"files":{"python request module":{"content":"Python requests has 3 parameters: 1)Request URL\n 2)Header Fields\n 3)Parameter \n4)Request body"}}}
#make a requests
res=requests.post(url,headers=headers,params=params,data=json.dumps(payload))
#print response --> JSON
print res.status_code
print res.url
print res.text
j=json.loads(res.text)
# Print created GIST's details
for gist in range(len(j)):
print "Gist URL : %s"%(j['url'])
print "GIST ID: %s"%(j['id'])
@RAMSlog
Copy link

RAMSlog commented Mar 19, 2019

I got a 401 response. what should I do?
it did well on the first try, but it doesn't work after

@BLINGBOARD
Copy link

run

@melon-boi
Copy link

I keep getting "KeyError: 'id'", any solutions to that?

@ganesh75690
Copy link

@0xHumban
Copy link

0xHumban commented Apr 5, 2024

Maybe have to change the header:

headers = {'Authorization': f'token {token}'}
to
headers = {'Authorization': f'Bearer {token}'}

source

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment