파이썬에서 datetime.timezone()을 이용한 시간대 설정

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/datetime-timezone 파이썬에서 datetime.timezone()을 이용해서 datetime 객체의 시간대를 설정할 수 있습니다. 예를 들어 한국시간(KST)은 GMT+9시간이므로 아래와 같이 설정해서 현재 시각을 구할 수 있습니다. import datetime KST = datetime.timezone(datetime.timedelta(hours=9)) now_kst = datetime.datetime.now(tz=KST) 시간대 정보가 없는 datetime 객체의 경우에는 앞의 예제 코드에서 정의된 변수 KST를 이용해서 아래와 같이 시간대를 할당할 수 있습니다. # 시간대 정보 없는 UTC 기준 현재시각 가져오기 - utcnow() now = datetime.datetime.utcnow() # 시간대 정보 추가 now_kst = now.astimezone(KST) @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jsup 2.0 - 업보팅을 다시 위대하게 jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기 Steemit-Search - 스팀잇 포스팅 검색 STEEM.NFT - 디지털 아트 보존 프로젝트

[EN] jsup-blog experiment: access token for Google Blogger

by joviansummer
original STEEMIT post: https://steemit.com/blog/@joviansummer/en-jsup-blog-experiment-access-token-for-google-blogger


jsup-blog experiment: bridge between Steemit & Google Blogger

To use Google Blogger API, an access token must be issued via protocol called "OAuth 2.0". You get "OAuth client ID" and then generate "credentials.json" file. Of course you must have a Google blog.

The procedure is as follows.

Sign to your Google Account with using a web browser, and then go to Blogger section of Google for Developers page. Check the link below:

Blogger API: Using the API

You will see a blue button labeled as "Get an OAuth client ID". Click it, and then select "Create a new project".

blogger_api_01.jpg

Specify project name and prduct name. Set category as "Desktop App". Then click "CREATE" button.

blogger_api_02.jpg

blogger_api_03.proc.jpg

blogger_api_04.jpg

API setting is complete. Now click "DOWNLOAD CLIENT CONFIGURATION" button to download credentials.json file.

blogger_api_05.proc.jpg

Now, you need to generate token file for @jsup service. This procedure requires python installed.

First, install python modules for Google API with the following command:

pip3 install google-api-python-client

pip3 install google-auth-oauthlib

Make a python script and save it in the directory which contains credentials.json file. Use the following python code and save the script as get_token.py.

import pickle
from pathlib import Path
from google.auth.transport.requests import Request
from google_auth_oauthlib.flow import InstalledAppFlow

SCOPES = ['https://www.googleapis.com/auth/blogger']    
client_sec = 'credentials.json'

if Path(client_sec).exists():
    print("found:", client_sec)
else:
    print("ERROR:", client_sec, "NOT FOUND!")
    exit()

creds = None
if Path("auto_token.pickle").exists():
    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:
        print("trying to refresh token")
        creds.refresh(Request())
    else:
        flow = InstalledAppFlow.from_client_secrets_file(client_sec, SCOPES)
        creds = flow.run_local_server(port=0)
    print("saving auto_token.pickle")
    with open('auto_token.pickle', 'wb') as t:
        pickle.dump(creds, t)
else:
    print("OK: valid pickle file")

Run the script with the following command:

python3 get_token.py

The script will launch web browser, and you will be asked to grant access for the cliend ID. Allow access to generate auto_token.pickle file.

@jsup service needs this token file to connect with Google Blogger. I'm planning to receive the file via email and manually register it with @jsup service.


@joviansummer's STEEM projects

@jswit witness project:
I'm running a STEEM witness node. I'd really appreciate it if you vote for my witness account @jswit. (https://steemitwallet.com/~witnesses)
[ENG] Introducing @jswit witness project

@jsup curation project:
[ENG] Introduction to @jsup curation project
[ENG] Using @jsup curation project as an auto-voting agent
[ENG] jsup 2.0 - make your upvote great again

jSTEEM project:
jSTEEM project - STEEM blockchain explorer on Telegram messenger

STEEM.NFT project:
STEEM.NFT - Preserve your art on Steemit & IPFS

Steemit-Search project:
Steemit-Search: a simple website for post searching

Comments

Popular posts from this blog

Nuitka - 파이썬 스크립트를 바이너리 실행 파일로 변환

파이썬에서 스팀잇 ID 및 포스팅 키 유효성 확인

파이썬에서 시간대(timezone) 변경