[EN] jsup-blog experiment: access token for Google Blogger
- Get link
- X
- Other Apps
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:
You will see a blue button labeled as "Get an OAuth client ID". Click it, and then select "Create a new project".
Specify project name and prduct name. Set category as "Desktop App". Then click "CREATE" button.
API setting is complete. Now click "DOWNLOAD CLIENT CONFIGURATION" button to download credentials.json file.
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
Post a Comment