标签: google-apps

将App Engine与自定义域配合使用,无需支付Google Apps费用?

您是否可以将Google App Engine与自己的自定义域一起使用,而无需支付整个Google Apps业务包的费用?

安装说明表明,这是不可能的.有人找到了解决方法吗?

google-app-engine google-apps

16
推荐指数
3
解决办法
5752
查看次数

如何使用Gmail作为Youtrack的SMTP服务器?

Youtrack允许通过第三方SMTP服务器发送电子邮件.字段如下:

  1. SMTP主持人:[?]
  2. SMTP端口:[?]
  3. 邮件协议:[?]
  4. SMTP登录:[?]
  5. SMTP密码:[?]
  6. 选择SSL密钥:[?]
  7. 服务器'来自'电子邮件:[?]

您能举例说明Gmail或Google应用配置吗?

gmail smtp google-apps youtrack

16
推荐指数
2
解决办法
2万
查看次数

MediaWiki扩展:GoogleAppsAuthentification Multiple Domains

我一直在使用适用于mediawiki 的优秀GoogleAppsAuthentification扩展程序,以允许我的用户使用他们的Google Apps帐户登录.我们最近在我们的Google Apps中添加了另一个域名,我想为这些用户提供使用Google Apps域名登录我们的wiki的选项.

开箱即用,扩展无法实现这一点,但添加多个域支持似乎非常简单.

我们的想法是在执行重定向到Google登录屏幕之前,向用户提示可用域的下拉列表.

我对mediawiki API的了解相当有限,我可以使用一些指针.

扩展挂钩到UserLoadFromSession挂钩,该挂钩在UserLoginForm挂钩之前调用.我必须向此函数添加代码以提示用户输入域,并返回此功能,将所选域传递给getGoogleAccount()

// in LocalSettings.py
$wgDefaultUserOptions['GoogleAppsDomainList'] = array("domain.com", "otherdomain.com");

// in GoogleAppsAuthentication.php
function fnGoogleAppsAuthenticateHook($user, &$result){
    global $IP, $wgLanguageCode, $wgRequest, $wgOut, $wgDefaultUserOptions;
    if (isset($_REQUEST["title"])){
            $lg = Language::factory($wgLanguageCode);

            if ($_REQUEST["title"] == $lg->specialPage("Userlogin")){
                    // this is where we need to add the prompt 
                    // that asks the user which domain to chose
                    $domain = getDomainFromUser($wgDefaultUserOptions['GoogleAppsDomainList'])

                    // Setup for a web request
                    require_once("$IP/includes/WebStart.php");

                    // Here we do our stuff
                    $googleAccount = getGoogleAccount('title=' . $_REQUEST["title"], …
Run Code Online (Sandbox Code Playgroud)

php openid mediawiki oauth google-apps

16
推荐指数
1
解决办法
682
查看次数

在不通知用户使用Google Apps脚本的情况下共享云端硬盘文档

我正在Apps脚本中创建一个工作流程,其中Doc是从模板生成的,并与各个用户共享以供审批.脚本发送一个自定义的电子邮件,通知用户该文档需要他们的批准,但他们还会在该过程的每个阶段收到第二封电子邮件,该文件来自存储文件的驱动程序,用户说"用户与您共享了文档".有没有办法禁用这些警报?当您从云端硬盘手动共享文档时,会出现一个复选框选项,允许您选择用户是否收到通知.但是,我找不到使用Apps脚本禁用此通知的方法.

我正在doc.addEditors(users)用来分享这份文件.

非常感谢

javascript google-api google-apps google-apps-script google-drive-api

15
推荐指数
2
解决办法
5910
查看次数

如何停止或禁用Google App Engine生产服务器?

我已将谷歌应用程序java项目上传到生产谷歌应用程序引擎(从本教程),但我找不到任何信息如何停止或禁用生产应用程序引擎.

从谷歌开发者控制台,我可以通过菜单计算 - >实例关闭实例,但如果我在浏览器中打开或访问应用程序的URL,应用程序实例将再次开始运行.

那么如何完全停止或禁用Google App Engine生产服务器?

google-app-engine google-apps google-compute-engine

15
推荐指数
4
解决办法
2万
查看次数

OpenID太复杂了吗?

尽管它有效,但我开始严重怀疑OpenID社区.

我正在将OpenID评估为"这个"网站的身份验证服务,虽然承诺很好,但我无法让它工作.我真的迷路了.

我要求SO社区帮助我.给我答案并向我展示示例,以便我可以按照预期的方式利用它.

我的场景非常典型.我想通过特定的Google Apps域对用户进行身份验证.如果您有权访问此Google Apps域,则可以访问我的Web应用程序.

在我迷路的地方,涉及所有先决条件和依赖关系.

  1. 什么是XRD?
  2. 亚迪斯是什么?
  3. 为什么我需要XRD和Yadis?
  4. 在我的网站上部署OpenID身份验证需要做什么?

而且,这对我来说非常重要.

当我登录SO时,我使用我的Google帐户.当我点击登录按钮时,我会看到此确认页面.我授予SO使用我的Google帐户凭据的权利.

不知何故,Google知道它是"Stackoverflow.com",它问我是否可以登录.我想知道我对这个小文本有什么样的控制方式.我打算在几个不同的域上部署OpenID,但我更愿意,如果它们都可以工作,而不必单独配置特殊参数,例如秘密API密钥,什么不是.但是,我不确定这是否是OpenID的先决条件,即Google提供的联合登录API.

.net openid google-apps

14
推荐指数
2
解决办法
781
查看次数

使用Google Apps + App Engine进行单点登录

是否可以通过App Engine上的内置OpenId实现SSO?我一直在尝试集成Marketplace应用并让用户在使用Google Apps(管理面板或通用导航)时登录.我悲惨地失败了,现在我发现了这个:

"一个例外是混合OpenID/OAuth的应用程序 - 白名单目前不适用于这种方法." (从这里)

我假设我必须使用库实现OpenId,而不是使用内置的库在我的应用程序中使用Google Apps实现SSO?或者,如果可以使用内置的OpenId,是否有示例显示如何执行此操作?

openid google-app-engine google-apps single-sign-on

14
推荐指数
1
解决办法
3281
查看次数

用于汇总数据未更新的脚本

我有一张时间表数据的Google电子表格; 它每个月都有一张表,每张表有很多六个列块,每个客户一个块.

我创建了一个摘要表,其中包含每个客户的总数并将其显示在列表中:

function getClientTotals(sheetname, colcount)
{  
  colcount = colcount ? colcount : 6;
  var res;      
  var ss = SpreadsheetApp.openById('myid_goes_here');
  if(ss)
  {
    res = [];
    var totrow = ss.getRange(sheetname + '!A1:ZZ1').getValues()[0];
    for(var i = 0; i < totrow.length; i += colcount)
    {
      res.push([totrow[i], totrow[i + colcount - 1]]);
    }
  }   
  return res;
}
Run Code Online (Sandbox Code Playgroud)

然后我在我的摘要表中添加了一个单元格,=getClientTotals($C$7,$C$8)其中包含月份工作表名称和每个客户端的列数(如果是"模式"修改).

这一切都正常,但是,当源数据发生更改时,它不会更新.我添加了一个onEdit触发器; 没有快乐.如果您转到脚本编辑器并点击"保存",它会更新,但这没有用.我错过了什么吗?

google-apps google-sheets google-apps-script custom-function

14
推荐指数
1
解决办法
2万
查看次数

使用Amazon SES和Google Apps的正确SPF记录是什么

什么是适用于Amazon SES和Google Apps的正确SPF记录:

Google Apps表示他们希望您使用"〜"代码:http://support.google.com/a/bin/answer.py? hl = zh-CN&answer = 178723,但大多数其他示例都有短划线" - "代替.

亚马逊希望:"v = spf1 include:amazonses.com -all"

Google希望:"v = spf1 include:_spf.google.com~all"


我们目前有这个,将两者结合在一起:

TXT"v = spf1包括:amazonses.com包括:_spf.google.com~all"

SPF"v = spf1包括:amazonses.com包括:_spf.google.com~all"


1)这是正确的SPF记录吗?

2)如果TXT和SPF DNS记录的记录完全相同,我们是否遗漏了任何内容?这就是我们所拥有的,我们没有别的东西.

我们只发送来自Google Apps和Amazon SES的电子邮件,没有别的.

email spf google-apps amazon-ses

14
推荐指数
2
解决办法
1万
查看次数

尝试通过服务帐户发送电子邮件,获取com.google.api.client.auth.oauth2.TokenResponseException:401 Unauthorized

我有一个Google Apps帐户.我正在尝试使用服务帐户代表用户发送电子邮件.

我已经浏览了互联网,没有任何工作,我几乎不知所措.

我跟着Java指南,我仍然继续 com.google.api.client.auth.oauth2.TokenResponseException: 401 Unauthorized

为什么这段代码片段给我401 Unauthorized?

JsonFactory JSON_FACTORY = JacksonFactory.getDefaultInstance();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();

            GoogleCredential credential = new GoogleCredential.Builder()
                    .setTransport(httpTransport)
                    .setJsonFactory(JSON_FACTORY)
                    .setServiceAccountId("something@something-something.iam.gserviceaccount.com")
                    .setServiceAccountPrivateKeyFromP12File(new File("path/to/file/myProject.p12"))
                    .setServiceAccountScopes(GmailScopes.all())
                    .setServiceAccountUser("user@mydomain.org")
                    .build();

Gmail gmailService = new Gmail.Builder(httpTransport, JSON_FACTORY, credential)
                    .setApplicationName("My App") // DOES IT MATTER WHAT THIS IS SET TO?
                    .build();

MimeMessage mimeMessage = createEmail("myemail@gmail.com", "user@mydomain.org", "Testing", "hey");
sendMessage(gmailService, "me", mimeMessage);
Run Code Online (Sandbox Code Playgroud)

这些方法基本上是从Googles文档中复制/粘贴的:

/**
     * Create a MimeMessage using the parameters provided.
     *
     * @param to email address of the receiver
     * @param …
Run Code Online (Sandbox Code Playgroud)

authentication oauth google-api google-apps gmail-api

14
推荐指数
1
解决办法
821
查看次数