问题标签 [google-apps-marketplace]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
85 浏览

java - 我可以将 Java 程序放入 Google Apps Market 吗?

我想知道是否允许您将 Java 程序放在 Google Apps Marketplace 上。我知道您可以放置​​ java web 应用程序,但您可以放置​​在桌面上运行的 java 程序吗?那很好啊。

提前致谢。

0 投票
1 回答
462 浏览

ruby - 使用 2lo 从 Marketplace 应用程序访问 Google Directory API

在过去的几天里,我一直试图在 Ruby 中访问 Google 的 Directory API,但无法使其正常工作。根据文档,可以使用 2lo 对 Directory API 进行授权:

如果您的应用程序有某些不寻常的授权要求,例如在请求数据访问(混合)或域范围授权 (2LO) 的同时登录,那么您目前无法使用 OAuth 2.0 令牌。在这种情况下,您必须改为使用 OAuth 1.0 令牌和 API 密钥。您可以在 Google API 控制台的 API 访问窗格的简单 API 访问部分中找到应用程序的 API 密钥。

我目前有可以使用 2lo 访问 Provisioning API 的工作代码。从文档看来,我可以使用相同的代码访问 Directory API,只需将 API 访问密钥参数添加到请求并启用一些权限即可。但是,它不起作用,我不知道为什么。

这是请求代码:

这让我得到了回应:

我已将所需范围添加到清单文件中,

并且还在 API 控制台中为我的项目启用了 Admin SDK。

Faraday.default_connection.response :logger这是添加到我的 development.rb 文件后的日志输出:

在过去一天在互联网上搜索后,我不知道为什么这不起作用。任何人的想法?

0 投票
1 回答
666 浏览

php - Google Apps SSO + 获取 Google Apps 域中的用户

我最近为我们正在开发的 Google Apps Marketplace 应用程序实现了SSO 功能。简而言之:它提供了一种检索 Google Apps 用户的电子邮件并将他登录到您的网站的方法,而无需他的授权。您只需要 Google 在您的域上安装期间向应用程序提供的使用者密钥和使用者密码(安装用户还授权(一次性操作)您在清单文件中请求的任何其他权限)。

现在,我设法让 SSO 用户登录使用JanRain 的 OpenID PHP 库工作,并使用PHP Extensions for Google Apps OpenID Discovery添加 Google Apps 作为提供程序。

但是,登录后,我需要实现一个功能来检索给定 Google Apps 域中的所有用户。我已经使用 oAuth2 身份验证和以下Directory API做到了这一点。但是,这需要存在消费者密钥、消费者秘密和重定向 URL(必须在 Google API 控制台中注册)。

有没有办法消除这种便利,而是让我们的用户能够直接获得他们的 Google Apps 域的用户,使用我们在后台进行的现有 SSO 身份验证,同时登录他?否则,用户在 Google API 控制台注册应用程序,输入正确的重定向 URL 并在我们的网站中设置它,然后他将能够获得他的域的用户,这将是一件很麻烦的事情。

0 投票
0 回答
291 浏览

google-api - 从 Google Apps Marketplace 安装应用程序后获取 Google Apps 域中的所有用户

我的客户是一家 SAAS 软件提供商。他在 Google Apps Marketplace 中提供了一个应用程序。客户可以将 Marketplace 应用程序添加到他的域。市场列表为我们提供了一个消费者密钥和消费者秘密,我们已将其集成到我们的 SAAS 产品中。

理论上,安装了我们的应用程序的客户应该能够使用我们从市场列表中获得并在 SAAS 产品中配置的消费者密钥/秘密对,将用户从他们的 Google Apps 域同步到他的 SAAS 安装。

我们目前正在使用以下方法,但它不起作用。API 调用返回"401 Unknown authentication header"

0 投票
2 回答
1187 浏览

python - 在 Google Marketplace 应用程序中通过 SMTP(最好使用 OAuth 2.0)发送邮件

使用oauth2client.py 中提供的 google 文档和 python 库以及oauth2.py 库和文档,我通过 OAuth2.0 对其进行身份验证,成功地通过用户的 gmail 帐户发送邮件。我在 google apis 中创建了一个项目,并且能够获取正确验证和发送邮件所需的密钥和其他参数。

现在我正在尝试使用 Google Marketplace 应用程序来实现相同的目标。最终目标是域管理员可以将我们的应用程序添加到他们的 Google Apps 域中,这样每个用户都不需要经过身份验证过程,并且我们的应用程序将“自动”被授权代表他们发送邮件。

第一个问题是在市场上注册应用程序时,我得到了客户端密钥和秘密,但是没有redirect_uri,就像我在另一个项目中得到的那样。这意味着我无法使用他们的OAuth2WebServerFlow课程进行身份验证。这导致了数小时的搜索和冲突的答案以及 Google 文档中的断开链接。该文档让我相信 Marketplace 应用程序不支持 OAuth 2.0,我需要重新使用 2 腿 OAuth 1.0 身份验证。但它是在一年前更新的,所有其他 Google 文档都强烈告诉我不要使用 OAuth 1.0,因为它已被弃用。

重写所有新代码(不能使用相同的库或任何东西)以使用 OAuth 1.0 是能够使用 Marketplace 应用程序执行此操作的唯一方法吗?是否有另一种方法,如果没有,关于利用现有代码或如何在当前系统中最好地做的任何建议?

我目前使用 OAuth 2.0 的工作方式的简短片段:

并在返回

并发送邮件

0 投票
0 回答
133 浏览

google-oauth - 将 Open ID 与适用于 JavaScript 的 Google API 客户端库一起使用

我们正在使用适用于 JavaScript 的 Google API 客户端库与 Google Drive 一起使用。采用常规的OAUTH2方式,向用户显示授权对话框(仅是第一次,但这已经足够了)并提示访问谷歌驱动器。Google Marketplace 清单要求应用程序使用 OpenId 领域进行无缝单点登录,以将应用程序列入白名单并且不明确提示用户访问,而是将访问管理留给域管理员。

所以我的问题是,当后一个库的所有文档都描述仅适用于 OAUTH2 时,如何使 Open ID 和 Google APIs Client Library for JavaScript 协同工作?

0 投票
0 回答
2275 浏览

java - 无法更新应用程序:无法获取系统 Java 编译器。请使用 JDK,而不是 JRE。GAE

我正在尝试将 GAE java 项目上传到谷歌应用引擎。当我从命令行运行命令时

它给了我错误日志

谁能告诉如何摆脱这个错误?当我运行 javac -version 它给出的输出为

当我运行 java -version 它给了我

谁能告诉如何摆脱这个错误?

我正在关注本教程https://developers.google.com/google-apps/marketplace/tutorial_java

PS这个appcfg.sh在eclipse/plugin目录下

0 投票
1 回答
549 浏览

django - SignedJwtAssertionCredentials 不起作用

我完全无法使用 Google API Python 客户端。我正在尝试做一件非常简单的事情。我在 Google Apps Marketplace 中添加了一个应用程序,并已授权用户访问我的域。

现在,我想配置用户。我正在尝试在没有最终用户的情况下访问 Admin SDK。

我使用官方示例代码作为模板 - https://code.google.com/p/google-api-python-client/source/browse/samples/service_account/tasks.py

我收到以下错误:/test-oauth/ [('asn1 encoding routines', 'ASN1_D2I_READ_BIO', 'not enough data')]

它发生在 Google oauth2 客户端代码中 - /oauth2client/crypt.py in from_string,第 131 行

我正在使用 Python 2.7、Django 1.5.2 和 Google Python API Client 1.2(我添加了 pyOpenSSL 和 pyCrypto)。这是我安装的:

分发(0.6.36)

lxml (3.2.3)

MySQL-python (1.2.4)

麻木(1.7.1)

点 (1.4)

pycrypto (2.6)

pyOpenSSL (0.11)

scikit-learn (0.14.1)

安装工具 (0.9.8)

wsgiref (0.1.2)

这是代码:

def get_google_api_data(请求):

谁能告诉我为什么我无法连接到该服务?

多米尼克

0 投票
1 回答
252 浏览

oauth - 带有市场的 Admin-sdk 不起作用

我试图用 admin-sdk 构建一个市场应用程序。

阅读文档,就市场应用程序而言,两条腿身份验证似乎是唯一的方法。

想检查当前用户是否是管理员,所以我想使用

https://www.googleapis.com/admin/directory/v1/users/(useremail)?xoauth_requestor_id=(admin-email)

我试图既是一样的又是管理员

Authorization 标头也如下所示。

当向 url 发出此请求时,我收到错误消息。

我寻找 api 来完成它,但找不到两条腿的 admin-sdk。有人可以帮我解决这个问题吗?

也可以通过使用服务帐户来完成这样的功能吗?

我也想,最后有 admin-sdk 最终可以使用 golang。

0 投票
0 回答
272 浏览

php - Marketplace App:如何访问已安装域上用户的 Google Drives?

我正在用 PHP 开发一个市场应用程序。一旦域管理员将我的应用程序安装到他们的域中,我的应用程序需要访问域中所有用户的日历和驱动器,并具有对日历和驱动器范围的适当授权(我假设这是可能的,而不是每个用户都拥有授予访问权限)。

我正在关注示例,https://developers.google.com/google-apps/marketplace/tutorial_php并且已经能够使用教程中的 Zend_Gdata 库访问登录用户的谷歌日历约会。太好了,到目前为止!

现在我正试图让我的应用程序与用户的驱动器对话,这是我遇到问题的地方。在应用程序清单中,我的应用程序请求访问驱动器范围 ( https://www.googleapis.com/auth/drive) 以及日历范围。我正在尝试使用当前用于 PHP 的 Google API 客户端库来访问已登录的域用户的驱动器。代码如下所示 -

以上产生了这个错误 -

我无法得到 200 响应的事实告诉我,我的身份验证不正确,或者使用了错误的身份验证模式,或者类似的东西。我收集到 setDeveloperKey() 是必需的,我使用的值是我在 API 控制台中生成的服务器应用程序的密钥(具有 IP 锁定)。我不确定我这样做是否正确。

我还认为请求需要确定我想要文件的域用户。我尝试将参数传递array('xoauth_requestor_id' => $_SESSION['email'])给 listFiles() 函数,这会导致不同的错误。

我的问题:

  1. 如何正确设置 Google_Client() 对象,以便我的应用可以使用它来访问用户的驱动器?我需要使用 setDeveloperKey() 吗?如果是这样,我应该使用什么值?
  2. 如何将当前登录用户的电子邮件地址传递给 Google_DriveService(),以便它知道只返回该用户的文件?

谢谢!