jsup/avle 보팅 코드 갱신 - 1일1포스팅 강박에서 벗어나기

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/jsup-avle-1-1 안녕하세요. @joviansummer입니다. @jsup과 @avle의 보팅 코드를 갱신하여 적용하였습니다. 검토는 상당히 오래전부터 진행해 왔습니다만, 최근에 구체적인 설계 방향이 잡히고 기술적으로 어떻게 할 것인지에 대해서도 결정이 되면서 생각보다 빠르게 코드 수정이 진행되었습니다. 새로운 기능은 신청자에 대해서 포스팅이 아니라 댓글에도 보팅을 하는 것입니다. 매일 포스팅하는 것이 부담스럽고 힘들다면 댓글을 달면 됩니다. 당연히 1일1포스팅보다 1일1댓글이 훨씬 쉽고, 댓글을 많이 쓴다고 나쁠 것도 없다고 생각됩니다. 임대 보팅을 받기 위해 억지로 매일 포스팅하는 것은 본인에게도 괴로운 일이고 포스팅 자체도 결국 저품질화될 가능성이 큽니다. 매일 포스팅하는 것이 즐거운 사용자들도 있겠습니다만, 단지 보팅 때문에 억지로 쥐어 짜서 하루에 하나씩 힘들게 포스팅하거나 사실상 내용이 없다시피 한 포스팅을 하는 사용자들도 있는 것이 현실입니다. 보팅을 받아야 한다는 압박감으로 매일 억지로 포스트를 쓰기 시작하면서 스팀잇은 재미 없고 따분한 곳이 되어 갑니다. 게다가 스팀잇의 트렌딩 페이지는 사실상 대량의 임대 셀프 보팅을 받는 사용자의 포스팅을 모아놓은 공간처럼 되어 있어, 이대로 계속 가면 SNS 본연의 매력은 상실하고 코인 채굴장 그 이상도 이하도 아니게 될까 우려되는 측면도 있습니다. 댓글 보팅이 이런 문제를 완화하는데 조금이나마 기여할 수 있지 않을까 생각됩니다. 대상: @jsup 또는 @avle에 스팀파워를 임대하여 보팅을 받고 있는 계정 신청 방법: @jsup 또는 @joviansummer의 최근 포스트에 "댓글 보팅을 신청합니다"라는 내용으로 댓글을 써 주시면 됩니다. 제가 확인하고 서버에 등록하면 다음날부터 해당 계정은 포스트/댓글 관계 없이 그날 처음 작성하...

[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 - 파이썬 스크립트를 바이너리 실행 파일로 변환

[EN] STEEM-services: dapps/services webpage with sort and search functions

[ENG] jsup 2.0 - make your upvote great again