小编Chr*_*ris的帖子

Firebase 服务帐户生成身份验证令牌以供客户端与 Google Apps 脚本一起使用

我在使用FirebaseApp (第 3 方 API)生成身份验证令牌时遇到困难,该令牌可以传递到侧边栏并由客户端用来登录和访问我的 Firebase 数据库客户端。

我正在尝试使用本教程,但如果不使用makeToken(). 我更愿意使用本教程中反映的服务帐户。当我查看生成的标记之间的差异时,前两部分由“.”分隔。是相同的,最后一个“.”之后的最后一个部分 是不同的。长度也相同。例如:

//Example Generated by Database Secret: TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBv.ZGdlLCBleGNlZWRzIHRoZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=.dGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2U= 
//Example Generated by Service Account: TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBv.ZGdlLCBleGNlZWRzIHRoZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=.IHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbml=
Run Code Online (Sandbox Code Playgroud)

我可以生成 OAuth 访问令牌,将其传递给 FirebaseApp 并生成身份验证令牌,但是当它传递到客户端并且我尝试进行身份验证时,出现错误:Login Failed! Error: INVALID_TOKEN: Failed to validate MAC.

关于如何做到这一点,似乎存在很多错误信息和相互矛盾的信息。


我有一个getFirebaseService()函数服务器端,它使用 Apps 脚本 OAuth2 库来获取访问令牌。

function getFirebaseService() {  
  return OAuth2.createService('Firebase')
      // Set the endpoint URL.
      .setTokenUrl('https://accounts.google.com/o/oauth2/token')

      // Set the private key and issuer.
      .setPrivateKey(fb_PRIVATE_KEY) //Service account private key
      .setIssuer(fb_SERVICE_EMAIL) //Service account email

      // Set the property …
Run Code Online (Sandbox Code Playgroud)

google-apps-script firebase

5
推荐指数
1
解决办法
1805
查看次数

使用选择的 RangeElements 在 Google Doc 中获取所有嵌套的文本元素

在与上述类似的文档中,我可以使用以下代码获取所有段落:

var paras = body.getParagraphs();

请注意,上面的代码不仅返回顶级段落,还返回ListItems、Tables 等内部的所有子级段落。

如何在选定范围内做同样的事情?以下代码仅返回顶级元素。

const selection = DocumentApp.getActiveDocument().getSelection();
var rangeElements = selection.getRangeElements();
Run Code Online (Sandbox Code Playgroud)

例如,上表包含 9 个非空段落,如果它们在选择中,我想一一处理它们。

我想要实现的目标类似于通过尽可能多地保留格式、表格、列表项等来翻译选择中的文本。

google-docs google-apps-script

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

标签 统计

google-apps-script ×2

firebase ×1

google-docs ×1