Integration Of GitHub API with python django

Reading Time : ~ .

Using Github integration by Django, we can get the user verified email id, general information, git hub URL, id, disk usage, public, private repo's, gists and followers, following in a less span of time.

These Following steps are needed for Github integration:

    1. creating git hub app
    2. Authenticating user and getting an access token.
    3. Get user information, work history using access token.

1. Creating Github App

         a. To create an app, click on create an application on top of a page.

              Here you can give application name then the application will be created.
         b. Now you can get the client id, secret of an application and you can give redirect urls of your applications.

2. Authenticating user and getting an access token.
         a. Here We have to create a GET request for asking user permission.

POST  "https://github.com/login/oauth authorize?client_id=GIT_APP_ID&redirect_uri=REDIRECT_URL&scope=user,user:email&state=dia123456789ramya"

         GIT_APP_ID: your application client id,
         SCOPE: List of permissions to request from the person using your app
         REDIRECT_URI: The url which you want to redirect after user login and this url must be set in the app
         registered redireted urls.

         b. If user accepts the permissions, then authorization code sent to redirected url.
         c. Then we get accesstoken with the post request and the following params.
                  params = {
                        'grant_type': 'authorization_code',
                        'client_id': {{ Your Application id }},
                        'redirect_uri': {{ Your Redirect }}
                        'client_secret': settings.GIT_APP_SECRET,
                       'code': request.GET.get('code')
                   }

        info = requests.post("https://github.com/login/oauth/access_token", data=params)

        from urlparse import parse_qsl

        ac = dict(parse_qsl(info.text))

        params = {'access_token': ac['access_token']}

3. Get user information using access token with json response

  GET  "https://api.github.com/user"

     From the JSON response we can get the general information,  git hub  URL, id, disk usage, public, private  repo's gists  and followers, following.

   We can get the user emails from the get request using JSON response

  GET  "https://api.github.com/user/emails"

    From the json response, You can get the user emails

    By Posted On
SENIOR DEVELOPER at MICROPYRAMID

Need any Help in your Project?Let's Talk

Latest Comments
Related Articles
Extract text with OCR for all image types in python using pytesseract Shirisha Gaddi

Optical Character Recognition(OCR) is the process of electronically extracting text from images or any documents like PDF and reusing it in a variety of ways ...

Continue Reading...
Django - Template language Intro Nikhila Mergu

We can write the required logics based on programming[python] syntax in models and views but, when we want to write simple logics we should follow ...

Continue Reading...
Using Django's built in signals and writing custom signals. Divya Sri

Django has a beautiful feature of signals which will record all the actions performed on particular model. In the current blog post we’ll learn how ...

Continue Reading...

Subscribe To our news letter

Subscribe to our news letter to receive latest blog posts into your inbox. Please fill your email address in the below form.
*We don't provide your email contact details to any third parties