1
我正在創建一個簡單的應用程序在谷歌appengine自動發佈內容在我的blogspot。谷歌服務帳戶代表團
我已經創建了服務帳戶並嘗試使用下面的代碼來調用博客API來發布博客。此錯誤消息沒有足夠的特權運行。
urlfetch.set_default_fetch_deadline(45)
service = build('blogger', 'v3')
class MainHandler(webapp2.RequestHandler):
def post(self):
body = {
"kind": "blogger#post",
"id": "9999999999999999",
"title": "SAmple title",
"content": "SAmple blog contents"
}
scopes = ['https://www.googleapis.com/auth/blogger']
credentials = ServiceAccountCredentials.from_json_keyfile_name('secret-key.json', scopes=scopes)
http_auth = credentials.authorize(Http())
request = service.posts().insert(blogId="9999999999999999",body=body)
response = request.execute(http=http_auth)
self.response.out.write(pprint.pformat(response))
app = webapp2.WSGIApplication([
('/postcontents', MainHandler)
], debug=True)
但是我可以通過下面一行訪問博客的細節
self.response.write(blogs.get(blogId='9999999999999999').execute(http=http_auth))
好像我的服務帳戶是不是與我的博客帳戶相關聯(雖然我的兩個谷歌應用程序引擎和博客使用同一個Gmail帳戶)。我如何實現這一目標?
感謝您的輸入。最初,我嘗試使用OAuth 2.0令牌,對我的代碼進行身份驗證並獲得了刷新令牌。我能夠訪問博客API。但在某些時候,如果我以相同的標記訪問APi,它會指示我登錄到Google帳戶以生成新令牌。我如何再次使用相同的令牌來獲取新的訪問令牌?我計劃安排一個博客帖子的cron工作。任何文檔或示例代碼都可以幫助我。 – user1260969
python客戶端庫應該處理獲取新的訪問令牌。 Refreshtoken可能會過期,您只需重新授權即可。注意:這是你使用oauth2工作代碼的唯一選擇 – DaImTo