이번에는 파이썬으로 구글블로그 api 를 이용해서 자동포스팅하는 방법에  대해 자세히 알아보는 시간 가지도록 하겠습니다. 파이썬으로 구글블로그 api 를 이용해서 자동포스팅하는 방법에  대해 궁금하시다면 따라오세요~

 

     

    파이썬 구글블로그 api 블로그스팟 자동포스팅

    #파이썬 #구글블로그 #API #블로그스팟 #자동포스팅




    1. [파이썬] 블로그스팟 Blogger API 신청하기

     

     

    https://console.cloud.google.com/


    위 사이트에 접속합니다.

     

     

     

    Cloud Platform에서 프로젝트를 하나 생성합니다.

    좌 상단의 프로젝트 리스트를 클릭하면 새로운 창이 하나 뜹니다.
    새로운 창의 우측 상단의 새 프로젝트를 선택해서 프로젝트를 만들어주세요.

     

     

    새 프로젝트를 등록하는 창이 나옵니다. 저는 autoposting 라고 만들어 봤습니다. 이름은 마음대로 작성하면 됩니다.

     

     

     

    API 및 API 서비스 메뉴를 클릭합니다.

     

     

     

     

    1) OAuth 동의화면 메뉴를 클릭합니다.

    2) 외부를 체크합니다.

    3) 만들기를 클릭합니다.

     

     

     

     

     

    위와 같은 화면이 먼저 반길것입니다.

    총 3가지 필수정보만 입력하시면 됩니다.

     

    1) 앱이름은 자신이 알아보기 편한 이름으로 지으시면 됩니다.
    2) 사용자 이메일을 입력합니다.
    3) 개발자 연락처로 사용할 이메일을 입력합니다. 앞에 입력한 이메일과 동일해도 상관없습니다.

     

    그다음 저장후 계속 버튼을 눌러주세요.

     

     

     

     

    범위에서는 이 API를 사용할 수 있는 범위를 지정합니다. 보통 상단에 있는 3개의 범위를 지정합니다.

     

    그다음 저장후 계속 버튼을 눌러주세요.

     

     

     

    ADD USERS 클릭

    자신의 이메일 주소를 입력합니다.

    추가 버튼을 클릭합니다.

    저장후 계속 버튼을 누릅니다.

     

     

     

     

    요약정보가 나오면 일단 성공입니다.

     

     

     

    이제 Blogger Client ID와 Secret Code 를 획득하는것이 남았습니다.

     

     

     

     


    1) 좌측상단의 설정메뉴를 클릭합니다.
    2)  API 및 서비스 메뉴를 클릭합니다.
    3) 나오는 목록에서 라이브러리를 선택합니다.
    4) 여러가지 API라이브러리가 나옵니다. 아래로 스크롤을 내려보면  Blogger API 가 보일것입니다. 클릭하세요.

     

     

     

     

     

    위와같은 화면이 나오면 사용을 클릭하세요.

     

     

    1) 사용자 인증 정보 메뉴를 클릭합니다.
    2) 상단에 있는 사용자 인증 정보 만들기 메뉴를 클릭합니다.
    3) 그러면 목록이 아래로 펼쳐집니다. 목록에서 OAuth클라이어트 ID 를 선택합니다.

     

     

     

     

    1)  애플리케이션유형은 데스크톱 앱을 선택합니다.
    2) 이름은 아무것이나 사용하셔도 됩니다. 저는 자동포스팅이라고 입력했습니다.
    3) 만들기 버튼을 클릭하세요.

     

     

     

    JSON 다운로드 버튼이 있습니다. 클릭해서 저장해둡니다. 

     

    여기 까지 정말 수고하셨습니다. 구글API 키를 얻는데 성공하셨습니다.

     

     

    #파이썬 #구글블로그 #API #블로그스팟 #자동포스팅





    2. [파이썬] 구글블로거 (블로그스팟) 자동포스팅 소스

     

     

    아래는 전체 소스입니다.

     

    import sys
    import os
    import pickle
    from oauth2client import client
    from googleapiclient.discovery import build
    from google_auth_oauthlib.flow import InstalledAppFlow
    from google.auth.transport.requests import Request
    
    BLOG_ID = "12240027621423****" #블로거ID 입력
    #SCOPES = ['https://www.googleapis.com/auth/blogger', 'https://www.googleapis.com/auth/drive.file']
    
    SCOPES = ['https://www.googleapis.com/auth/blogger']
    
    def get_blogger_service_obj():
        creds = None
        if os.path.exists('auto_token.pickle'):
            with open('auto_token.pickle', 'rb') as token:
                creds = pickle.load(token)
        if not creds or not creds.valid:
            if creds and creds.expired and creds.refresh_token:
                creds.refresh(Request())
            else:
                flow = InstalledAppFlow.from_client_secrets_file(
                    'd:/blog/client_secret.json', SCOPES)
                creds = flow.run_local_server(port=0)
            # Save the credentials for the next run
            with open('auto_token.pickle', 'wb') as token:
                pickle.dump(creds, token)
        blog_service = build('blogger', 'v3', credentials=creds)
        drive_service = build('drive', 'v3', credentials=creds)
    
        return drive_service,blog_service
    
    drive_handler, blog_handler = get_blogger_service_obj()
    
    
    keyword = '태그' #태그
    blogger_title =  '제목' #블로그제목
    content =  '본문내용' #내용
    
    data = {
    'content': content,
    'title': blogger_title,
    'labels' : keyword,
    'blog': {
        'id': BLOG_ID, # The identifier of the Blog that contains this Post.
      },}
    posts = blog_handler.posts()
    res = posts.insert(blogId=BLOG_ID, body=data, isDraft=False, fetchImages=True).execute() 
    res #결과물

     

     

    수정해야 할 부분만 알려드리도록 하겠습니다.


    블로그아이디란에 무엇을 입력해야 하는지 궁금하실텐데요

    블로그스팟 설정 페이지에 접속하시면 주소가 

    https://draft.blogger.com/blog/settings/12710027621423*****

    이런씩으로 나옵니다. 

     

    젤 뒤에 숫자(12710027621423*****)가 아이디 입니다. 

     

    BLOG_ID = "12240027621423****" #블로거ID 입력

     


    그리고 좀전에  json 파일로 다운로드한거 기억하시나요?    OAuth클라이어트 ID 와 비번이 저장되어 있는 파일이죠. 저장해놓은 주소로 수정하셔야 합니다.

     

     flow = InstalledAppFlow.from_client_secrets_file(
                    'd:/blog/client_secret.json', SCOPES)

     


    1) keyword 는 티스토리로 치면 태그의 개념인데 이게 활용하기에 따라서 카테고리로도 사용할수가 있고 태그로도 사용할수가 있습니다. 정확한 명칭은 라벨입니다.  구글블로그는 카테고리기능을 제공하지 않기 때문에  같은 라벨을 사용해서 카테고리를 연출할수가 있습니다.

    2) blogger_title  은 말그대로 제목입니다.

    3) content 는 본문내용입니다.  본문내용은 html 로 적으시면 됩니다.

     

    keyword = '테스트' #태그
    blogger_title =  '얏호 테스트입니다.' #블로그제목
    content =  '안녕하세요 테스트입니다.' #내용

     

    ※ 주의사항 (꼭 읽어주세요)

     

    1) 구글블로그 api 를 이용한 포스팅은 하루에 100개로 제한되어 있습니다. 그렇다고 하루에 100개씩 포스팅하지는 않겠죠~ 요즘 구글스팸정책이 업데이트 되고 나서부터 봇에 의한 포스팅이 대거 스팸으로 지정이 되어 구글저품질로 빠지는 추세입니다.  주의가 필요합니다. 저같은 경우 블로그 하나당 아침에 하나 저녁에 하나 해서 하루에 2개씩 자동으로 포스팅하고 있습니다. 예전에는 무지해서 하루에 100개씩 올렸더니 하나도 색인이 안되더라구요. 

     

    2) 정확한 기간은 모르지만 인증키를 주기적으로 업데이트 해줘야하는 번거로움이 있습니다. 인증키가 유효기간이 있기 때문에 잘되던 파이썬 프로그램이 에러가 나온다면 에러 내용을 잘 읽어보시고 유효기간이 되었다는 내용이 있으면 너무 놀라지 마시고 인증키를 업데이트 하시기 바랍니다.  

     

     #파이썬 #구글블로그 #API #블로그스팟 #자동포스팅



    이렇게 해서 파이썬으로 구글블로그 api 를 이용해서 자동포스팅하는 방법에  대해 자세히 알아보았습니다. 파이썬으로 구글블로그 api 를 이용해서 자동포스팅하는 방법에  대해 궁금하셨던분들에게는 유용한 정보가 되었을듯합니다. 다음에는 더욱 유용한 정보로 찾아올것을 약속드리며 이번 포스팅은 여기까지 하도록 하겠습니다. 오늘도 행복한 하루 되세요~ ^^