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

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

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

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

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

위 구글 콘솔 사이트에 접속합니다.

구글 콘솔 사이트

[My First Project]를 선택 합니다.

새로운 창의 우측 상단의 [새 프로젝트]를 선택해서 프로젝트를 만듭니다.

 

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

[만들기]를 클릭 합니다.


 

 

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


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

2) [외부(External)]를 체크합니다.

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

 


 앱 정보에 [앱이름] [사용자 지원 이메일]를 입력 합니다.

 

개발자 연락처 정보에 이메일 주소를 입력후 [저장 후 계속]을 클릭 합니다.



[범위 추가 또는 삭제]를 클릭 합니다.


상단에 있는 3개의 범위를 지정후 [업데이트]를 버튼을 클릭 합니다.

 

[저장 후 계속]을 클릭 합니다.

[ADD USERS] 클릭하고 사용자 추가에 자신의 [이메일 주소]를 입력합니다.

[추가] 버튼을 2번 클릭합니다.



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


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

  

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


1) 좌측상단의 [설정메뉴]를 클릭합니다.
2) [API 및 서비스] 메뉴를 클릭합니다.
3) 나오는 목록에서 [라이브러리]를 선택합니다.



여러가지 API라이브러리가 나옵니다. 아래로 스크롤을 내려보면  [Blogger API] 가 보일것입니다. 클릭하세요.

 

 위와같은 화면이 나오면 [사용]을 클릭 합니다.

  

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

 

 

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


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

구글API 키를 얻는데 성공하셨습니다.

 

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

아래는 블로그스팟 자동포스팅 전체 소스입니다.

# 필요한 라이브러리 설치 명령어
# pip install --upgrade oauth2client

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

# 1)구글 블로그 ID 설정
BLOG_ID = "1234567890"

# 구글 API에서 사용할 권한 설정
SCOPES = ['https://www.googleapis.com/auth/blogger']

def get_blogger_service_obj():
    """
    구글 블로거와 드라이브 API 서비스 객체를 생성하여 반환하는 함수
    """
    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(
                # 2) json 폴더 수정
                'D:/8)python/2)tistory backup/client_secret_.apps.googleusercontent.com.json', SCOPES)
            creds = flow.run_local_server(port=0)
       
        # 다음 실행을 위해 자격 증명을 파일에 저장
        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 = '본문내용'  # HTML 블로그 본문 내용 설정


# 블로그 글 작성 데이터 구성
data = {
    'content': content,
    'title': blogger_title,
    'labels': [keyword],
    'blog': {
        'id': BLOG_ID,  # 이 게시물을 포함하는 블로그의 ID 설정
    },
}

# 블로그 글 작성 요청
posts = blog_handler.posts()
res = posts.insert(blogId=BLOG_ID, body=data, isDraft=False, fetchImages=True).execute()

# 결과 출력
print("구글 블로그 글 작성 완료(인터넷 창 새로고침 하셔야 글이 정상적으로 보입니다!)")

 

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



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

https://www.blogger.com/u/2/blog/posts/1234567890?hl=ko&tab=jj

이런씩으로 적혀 있습니다. posts 뒤에 숫자(1234567890*****)가 blog ID입니다. 

 

# 1)구글 블로그 ID 설정
BLOG_ID = "1234567890"

 


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

 

# 새로운 자격 증명 생성
flow = InstalledAppFlow.from_client_secrets_file(
# 2) json 폴더 수정
'D:/8)python/2)tistory backup/client_secret.apps.googleusercontent.com.json', SCOPES)

 


1) keyword 는 티스토리로 치면 태그의 개념인데 이게 활용하기에 따라서 카테고리로도 사용할수가 있고 태그로도 사용할수가 있습니다. 정확한 명칭은 라벨입니다.

구글블로그는 카테고리기능을 제공하지 않기 때문에  같은 라벨을 사용해서 카테고리를 연출할수가 있습니다.

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

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

# 블로그 글 작성에 사용할 데이터 설정
keyword = '태그'  # 태그 설정
blogger_title = '제목 입니당'  # 블로그 제목 설정
content = '본문내용'  # HTML 블로그 본문 내용 설정

파이썬을 이용한 구글 블로그 API 자동 포스팅 주의사항

구글 블로그 API를 이용한 포스팅은 하루에 최대 200개로 제한되어 있습니다. 

최근 구글의 스팸 정책이 강화됨에 따라, 봇을 이용한 대량 포스팅이 스팸으로 간주되어 구글에서 저품질 콘텐츠로 처리되는 경향이 있습니다. 이를 주의해야 합니다.

또한, 구글 블로그 API를 사용할 때 인증 키를 주기적으로 갱신해야 하는 번거로움이 있습니다.

인증 키에는 유효기간이 있어서, 만약 잘 작동하던 파이썬 프로그램에서 에러가 발생한다면, 에러 메시지를 잘 확인하고 유효기간 만료와 관련된 내용이 있다면 인증 키를 갱신하시면 됩니다.

이와 같이 파이썬을 활용하여 구글 블로그 API를 통해 자동으로 포스팅하는 방법에 대해 자세히 알아보았습니다.

https://www.python.org/


  • 카카오톡 메시지

댓글 쓰기

다음 이전