我創建了一個小型應用程序,它利用recently announced Gmail API來搜索收到的電子郵件中的特定字符串。我的新應用已發佈爲隱藏在Chrome/Google Apps商店中,並且我已閱讀過我應該提供OAuth2憑據以與我的應用一起使用。爲了獲得適用於我的Marketplace應用程序的OAuth2憑據,需要什麼?
例如,this guide (for the old apps marketplace, which is no longer usable)顯示了開發者可以去抓住憑證的Marketplace應用程式:
然而,在新的商店,我不能在任何地方,使可用這些憑據給我找。
我錯過了一步嗎?我需要填寫Google Apps Marketplace Listing Review Request才能獲得憑證嗎?
謝謝!
更新與解決方案
MeLight有下面的答案的用戶 - 生成服務帳戶憑據,然後確保該項目已被鏈接到Chrome網上應用店的市場應用後使用。對於任何未來的Google,這裏是用來連接到API並創建一個service
對象,它可用於獲取消息的代碼等
from oauth2client.client import SignedJwtAssertionCredentials
from apiclient.discovery import build
from oauth2client.tools import run
import os
import httplib2
BASEDIR = os.path.dirname(__file__)
PRIVATE_KEY = BASEDIR + "XXXX-privatekey.p12"
SERVICE_ACCOUNT_EMAIL = "[email protected]"
SCOPES = ["https://mail.google.com/"]
USERNAME="[email protected]"
def main(argv):
f = file(PRIVATE_KEY, 'rb')
key = f.read()
f.close()
credentials = SignedJwtAssertionCredentials(service_account_name=SERVICE_ACCOUNT_EMAIL,
private_key=key,
scope=" ".join(SCOPES),
prn=USERNAME)
http = httplib2.Http()
# Authorize the httplib2.Http object with our credentials
http = credentials.authorize(http)
# Build the Gmail service from discovery
service = build('gmail', 'v1', http=http)
我曾嘗試過,但是當我創建服務帳戶並嘗試使用它對Gmail API進行身份驗證時,端點返回了HTTP狀態500,並顯示消息「Backend Error」。我的理解是,並非所有API都允許服務帳戶,尤其是如果它們暴露用戶數據。不過,我不知道這是否是後端錯誤的原因。 – sullivanmatt
讓我們看看codez – MeLight
我將代碼恢復到之前嘗試過的狀態,並立即生效。我想知道是否API在昨天晚上檢查出來的每個人的負載下都出現口吃。我的問題中發佈了來自Google的未來訪問者的代碼。感謝您的幫助MeLight! – sullivanmatt