you can try below.
Please make sure all imported products are below.
from apiclient.discovery import build from oauth2client.file import Storage from oauth2client.client import AccessTokenRefreshError from oauth2client.client import flow_from_clientsecrets from oauth2client.tools import run
Set up your client_secrets.JSON like this
setting client_secrets.json as
{ "web": { "client_id": "[[INSERT CLIENT ID HERE]]", "client_secret": "[[INSERT CLIENT SECRET HERE]]", "redirect_uris": [], "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://accounts.google.com/o/oauth2/token" } }
For future reference, you can save your credentials in the blogger.dat file for faster processing.
FLOW = flow_from_clientsecrets(Path_to_client_secrets.json,scope='https://www.googleapis.com/auth/blogger',message=MISSING_CLIENT_SECRETS_MESSAGE) storage = Storage('blogger.dat') credentials = storage.get() if credentials is None or credentials.invalid: credentials = run(FLOW, storage)
After setting credentials. Its time for publication! therefore, we create an httplib2.Http object to process our HTTP requests and authorize with our good credentials.
http = httplib2.Http() http = credentials.authorize(http) service = build("blogger", "v2", http=http)
After creating, we will create the body of the blog and publish
try: body = { "kind": "blogger#post", "id": "6814573853229626501", "title": "posted via python", "content":"<div>hello world test</div>" } request = service.posts().insert(your_blogId_ID,body) response = request.execute() print response except AccessTokenRefreshError: print ("The credentials have been revoked or expired, please re-run the application to re-authorize")
hope this helps.