使用python Blogger API时Status参数不起作用

问题描述

我正在尝试将google-api-python-client 1.12.5与Python 3.8下的服务帐户auth一起使用。在我看来,当指定status参数时,Google会以404 HTTP代码进行响应。我不知道为什么。我也查看了文档,但无法将任何错误与此错误相关。

我粘贴了我的代码。错误发生在第三个调用中。

这是代码:

from google.oauth2 import service_account
from googleapiclient.discovery import build

SCOPES = ['https://www.googleapis.com/auth/blogger']
SERVICE_ACCOUNT_FILE = 'new_service_account.json'
BLOG_ID = '<your_blog_id>'

credentials = service_account.Credentials.from_service_account_file(
        SERVICE_ACCOUNT_FILE,scopes=SCOPES)

service = build('blogger','v3',credentials=credentials)
p = service.posts()

# FIRST
promise = p.list(blogId=BLOG_ID)
result = promise.execute()

# SECOND
promise = p.list(blogId=BLOG_ID,orderBy='UPDATED')
result = promise.execute()


#THIRD
promise = p.list(blogId=BLOG_ID,orderBy='UPDATED',status='DRAFT')
result = promise.execute()  # <===== ERROR HAPPENS HERE!!!!

service.close()

这是回溯:

Traceback (most recent call last):
  File "/home/madtyn/.local/share/JetBrains/Toolbox/apps/PyCharm-P/ch-0/202.7660.27/plugins/python/helpers/pydev/pydevd.py",line 1448,in _exec
    pydev_imports.execfile(file,globals,locals)  # execute the script
  File "/home/madtyn/.local/share/JetBrains/Toolbox/apps/PyCharm-P/ch-0/202.7660.27/plugins/python/helpers/pydev/_pydev_imps/_pydev_execfile.py",line 18,in execfile
    exec(compile(contents+"\n",file,'exec'),glob,loc)
  File "/home/madtyn/PycharmProjects/blogger/main.py",line 24,in <module>
    result = promise.execute()
  File "/home/madtyn/venvs/blogger/lib/python3.8/site-packages/googleapiclient/_helpers.py",line 134,in positional_wrapper
    return wrapped(*args,**kwargs)
  File "/home/madtyn/venvs/blogger/lib/python3.8/site-packages/googleapiclient/http.py",line 915,in execute
    raise HttpError(resp,content,uri=self.uri)
googleapiclient.errors.HttpError: <HttpError 404 when requesting https://blogger.googleapis.com/v3/blogs/<blog_id>/posts?orderBy=UPDATED&status=DRAFT&alt=json returned "Not Found">
python-BaseException

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)