【问题标题】:What's required in order to get OAuth2 credentials for my marketplace app?为我的市场应用程序获取 OAuth2 凭据需要什么?
【发布时间】:2014-06-26 14:49:10
【问题描述】:

我创建了一个小应用程序,它利用recently announced Gmail API 在收到的电子邮件中搜索特定字符串。我的新应用是在 Chrome / Google Apps 商店中以隐藏形式发布的,我已经读到应该为我提供 OAuth2 凭据以用于我的应用程序。

例如,this guide (for the old apps marketplace, which is no longer usable) 显示开发人员可以去哪里获取他们的市场应用程序的凭据:

但是在新商店中,我找不到任何可以让我使用这些凭据的地方。

我错过了一步吗?我是否需要填写Google Apps Marketplace Listing Review Request 才能获得凭据?

谢谢!

已更新解决方案

用户 MeLight 有以下答案 - 生成服务帐户凭据,然后在确保项目已链接到 Chrome Web Store 中的市场应用程序后使用它们。对于任何未来的 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 = "XXXX@developer.gserviceaccount.com"
SCOPES = ["https://mail.google.com/"]
USERNAME="someone@targetuser.com"

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)

【问题讨论】:

    标签: google-oauth google-apps-marketplace


    【解决方案1】:

    您需要前往 Cloud Console,您可以在这里找到:https://console.developers.google.com/

    在列表中找到您的项目并单击它。从那里APIs & AUTH -> Credentials

    您应该会看到客户列表及其凭据。你需要一个Service Account - 如果它还没有,你可以创建一个。

    【讨论】:

    • 我已经尝试过了,但是当我创建一个服务帐户并尝试通过 Gmail API 对其进行身份验证时,端点返回了 HTTP 状态 500,并显示消息“后端错误”。我的理解是,并非所有 API 都允许服务帐户,尤其是在它们公开用户数据的情况下。不过,我不知道这是否是后端错误的原因。
    • 我将代码还原为我之前尝试过的代码,它立即生效。我想知道 API 是否在昨晚每个人都检查它的负载下结结巴巴。对于来自 Google 的任何未来访问者,该代码已发布在我的问题中。感谢您的帮助 MeLight!
    • 我完全听到你的声音 - 我自己在寻找市场问题的答案时遇到了一些麻烦。很高兴听到我能提供帮助:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-31
    • 1970-01-01
    • 1970-01-01
    • 2013-05-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多