2014-06-26 36 views
2

我創建了一個小型應用程序,它利用recently announced Gmail API來搜索收到的電子郵件中的特定字符串。我的新應用已發佈爲隱藏在Chrome/Google Apps商店中,並且我已閱讀過我應該提供OAuth2憑據以與我的應用一起使用。爲了獲得適用於我的Marketplace應用程序的OAuth2憑據,需要什麼?

例如,this guide (for the old apps marketplace, which is no longer usable)顯示了開發者可以去抓住憑證的Marketplace應用程式:

enter image description here

然而,在新的商店,我不能在任何地方,使可用這些憑據給我找。

我錯過了一步嗎?我需要填寫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) 

回答

3

你需要去到雲控制檯,你可以找到它這裏:https://console.developers.google.com/

在列表中找到您的項目並單擊它。從那裏APIs & AUTH - >Credentials

您應該看到客戶端及其憑據的列表。你需要一個Service Account - 你可以創建一個,如果它不在那裏。

+0

我曾嘗試過,但是當我創建服務帳戶並嘗試使用它對Gmail API進行身份驗證時,端點返回了HTTP狀態500,並顯示消息「Backend Error」。我的理解是,並非所有API都允許服務帳戶,尤其是如果它們暴露用戶數據。不過,我不知道這是否是後端錯誤的原因。 – sullivanmatt

+0

讓我們看看codez – MeLight

+1

我將代碼恢復到之前嘗試過的狀態,並立即生效。我想知道是否API在昨天晚上檢查出來的每個人的負載下都出現口吃。我的問題中發佈了來自Google的未來訪問者的代碼。感謝您的幫助MeLight! – sullivanmatt

相關問題