我正在将与 google Drive js api 交互的网络应用程序迁移到新的 Google Identity Services API,并遵循此快速入门指南。GIS 是强制性的,因为从 2023 年 3 月起旧的 GIS 将不再使用。
在本指南中,只有一个小注释提到在页面重新加载后保留登录状态:
注意:初始用户授权后,您可以使用immediate:true调用gapi.auth.authorize来获取身份验证令牌,而无需用户交互。
但是,没有明确的代码示例如何做到这一点,而且可以在迁移指南中找到,该示例gapi.auth2.authorize()
已被弃用。
requestAccessToken()
而不需要用户交互是不可行的,因为第一弹出窗口根本不显示(在所有主要浏览器中被阻止),第二如果允许弹出窗口会显示并立即隐藏(糟糕的用户界面)有人可以给我一个例子,其中通过 JS 使用 GSI 通过页面重新加载来保留会话吗?
谷歌身份服务似乎还没有准备好投入生产,还是我错了?
google-authentication oauth-2.0 google-drive-api google-identity
我有一个简单的要求:在我的npm脚本package.json文件中,有以下一行:
{
"scripts": {
"example": "some-lib --argument --domain \"https://tld.com\""
}
}
Run Code Online (Sandbox Code Playgroud)
现在,我想排除“域”。
首先尝试使用$npm_package_config
,它可以工作:
{
"config": {
"domain": "https://tld.com"
},
"scripts": {
"example": "some-lib --argument --domain \"$npm_package_config_domain\""
}
}
Run Code Online (Sandbox Code Playgroud)
但我想从本地.env文件加载域。
我没有找到任何解决方案来在命令行上的npm脚本中读取env文件的内容。
有人可以给我提示解决此问题的方法吗?
我具有以下文件夹结构:
/foo/
/foo/test.txt
/foo/.gitkeep
/foo/bar/test.txt
/foo/bar/.gitkeep
/foo/bar/baz/test.txt
/foo/bar/baz/.gitkeep
Run Code Online (Sandbox Code Playgroud)
现在,我想排除“ foo”文件夹中的所有文件及其子文件夹(和子子文件夹)中的所有文件,但不包括所有.gitkeeps(以便保留文件夹结构)。这也应该适用于3个以上级别的子文件夹。
以下gitignore-rules起作用:
/foo/**
!/foo/**/
!/foo/**/.gitkeep
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下,这为什么起作用吗?有没有更干净的方法可以做到这一点?
使用异步 javascript 时,每秒函数如下所示:
function_name()
{
return new Promise((resolve,reject) => {
// do some async task
resolve();
});
}
Run Code Online (Sandbox Code Playgroud)
即使使用 es6 async/await,我也无法避免“return new Promise((resolve,reject) => { ...”这一部分。
有没有另一种方法可以在没有所有这些重复行的情况下编写这样的代码?
谢谢。