我有两个方法。
第一个读取文件并以纯文本形式写入该文件。第二个将文件作为流写入。
为了让它工作,我不得不在 require 中添加 fs 两次。
const fs = require('fs').promises;
const fs2 = require('fs');
Run Code Online (Sandbox Code Playgroud)
我试图理解其中的区别以及为什么我需要两次。但似乎没有promise的fs没有能力使用createWriteStream
,而没有.promises的fs没有能力使用writeFile
/**
* Serializes credentials to a file compatible with GoogleAUth.fromJSON.
*
* @param {OAuth2Client} client
* @return {Promise<void>}
*/
async function saveCredentials(client) {
const content = await fs.readFile(CREDENTIALS_PATH);
const keys = JSON.parse(content);
const key = keys.installed || keys.web;
const payload = JSON.stringify({
type: 'authorized_user',
client_id: key.client_id,
client_secret: key.client_secret,
refresh_token: client.credentials.refresh_token,
});
await fs.writeFile(TOKEN_PATH, payload);
}
Run Code Online (Sandbox Code Playgroud)
第二个以流的形式写入文件
/**
* Download file
* …
Run Code Online (Sandbox Code Playgroud) 我在使用 java 应用程序从 gmail 帐户发送电子邮件时遇到问题。
我编写了简单的 Java 代码来从我的应用程序发送电子邮件。我已打开 MFA,并创建了应用程序密码,并在代码中使用它。当我执行代码时,我收到消息
javax.mail.AuthenticationFailedException:535-5.7.8 不接受用户名和密码。了解更多信息,请访问 535 5.7.8 https://support.google.com/mail/?p=BadCredentials ft13-20020a17090b0f8d00b0022630ba1c80sm1576429pjb.42 - gsmtp
我相当确定该错误消息与代码问题无关(但我知道什么?)并且我已多次仔细检查凭据以确保它们正确。我试图了解还有什么可能是问题。如果有任何建议或需要检查的事情,我将不胜感激。
我正在尝试使用asp.net应用程序中的Google Drive API上传文件.
问题:代码在本地工作,但上传到服务器时没有任何反应(页面只是继续加载...没有同意屏幕显示.帮助appreaciated."UploadedPdf"文件夹是可写的,client_secrets.json存在于该文件夹中.
注意:我没有在服务器上安装任何内容,只是将包含Google API dll的所有文件上传到服务器的bin文件夹中.
UserCredential credential;
using (var filestream = new FileStream(Server.MapPath("UploadedPdf/client_secrets.json"),
FileMode.Open, FileAccess.Read))
{
credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
GoogleClientSecrets.Load(filestream).Secrets,
new[] { DriveService.Scope.Drive },
"user",
CancellationToken.None,
new FileDataStore(Server.MapPath("UploadedPdf/"))).Result;
}
// Create the service.
var service = new DriveService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "Drive API Sample",
});
Google.Apis.Drive.v2.Data.File body = new Google.Apis.Drive.v2.Data.File();
body.Title = "My document";
body.Description = "A test document";
body.MimeType = "text/plain";
byte[] byteArray = System.IO.File.ReadAllBytes(Server.MapPath("UploadedPdf/sample.txt"));
System.IO.MemoryStream stream = new System.IO.MemoryStream(byteArray);
FilesResource.InsertMediaUpload request = …
Run Code Online (Sandbox Code Playgroud) c# asp.net google-api google-drive-api google-api-dotnet-client
我正在尝试使用AddCustomAuthorizeRequestValidator
方法来提供自定义声明验证.我甚至无法在ICustomAuthorizeRequestValidator
实现中获得断点.我错过了什么吗?
我的断点
ConfigureServices方法代码:
services.AddMvc();
services.AddOptions();
services.AddTransient<ICustomAuthorizeRequestValidator, Saml2BearerValidator>();
services.AddIdentityServer()
.AddTestUsers(Config.GetUsers())
.AddConfigurationStore(builder =>
builder.UseSqlServer(_settings.Value.ConnectionString, options =>
options.MigrationsAssembly(migrationsAssembly)))
.AddOperationalStore(builder =>
builder.UseSqlServer(_settings.Value.ConnectionString, options =>
options.MigrationsAssembly(migrationsAssembly)))
.AddCustomAuthorizeRequestValidator<Saml2BearerValidator>()
.AddSigningCredential(CertificateManager.GetFromStorage(
_settings.Value.ServerCertificateThumb, _settings.Value.ServerCertificatePass));
return services.ConfigureAutofacServicesProvider(_settings.Value.Abc_xacml_n3_diagnostic);
Run Code Online (Sandbox Code Playgroud) 我在一台服务器上有一个身份服务器 (v4),在不同的服务器和域上有一个 Web 应用程序。我只需要 Windows 身份验证,使用重定向一切正常。但是,我注意到如果 cookie 尚未过期,则静默登录有效。
如果 cookie 已过期,则当前需要重定向,这可以正常工作。然而不幸的是,这意味着如果用户没有在当前屏幕上保存数据,除非我实现缓存机制,否则他们将丢失它。相反,我想设置一个隐藏的 iframe,它只是导航到身份服务器,如果用户在公司基础设施内(他们总是这样),则自动登录。
经过数小时的调试,我发现虽然 cookie 是从 iFrame 正确发送的,但任何 SET 似乎都不起作用 - 它们在 chrome 调试器中作为响应 cookie,但不会在下一次重定向时作为请求 cookie 发送我不知道为什么。
在回应:
Cookie 选项:SameSite Lax、HTTP 真、安全真、路径 /
标题:
内容安全策略:default-src 'self'; object-src '无'; 框架-src 本地主机:44388;frame-ancestors 'self' https://localhost:44388/ ; 沙箱允许形式允许同源允许脚本;base-uri '自我';
持久身份验证:true
编译指示:无缓存
推荐人政策:无推荐人
WWW-Authenticate : 协商 oRswGaADCgEAoxIEEAEAAABJ+0p/zH0aeAAAAAA=
X-Content-Security-Policy : default-src 'self'; object-src '无'; 框架-src **本地主机:44388;frame-ancestors 'self' https://localhost:44388/ ; 沙箱允许形式允许同源允许脚本;base-uri '自我';
X-Content-Type-Options : nosniff
X-Frame-Options : ALLOW-FROM https://localhost:44388/
关于如何增加配额限制,这不是另一个问题。今天,Google将每天查询的youtube api v3配额限制从我的情况下的5000万减少到了0!有人有100万个查询,每天有10万个查询,但是现在每个人只有10000个单位。它非常低,所有严重的生产应用程序都将很快被暂停。这种条件是不能接受的。这是在没有任何通知的情况下发生的!在云控制台或邮箱中没有消息!这意味着我们所有人都需要完全关闭我们的项目。数千名涉及youtube api项目的开发人员,我们编写了许多代码来使所有事情正常运行,并花费了大量时间和精力。
由于Google不提供youtube api的任何支持,因此无法解决该问题。我试图与所有渠道联系youtube api团队,大约3个月前填写了全新的配额申请表-仍然没有答案或积极的变化。
在官方文档和Google Cloud Console页面中,stackoverflow是我们唯一可获取帮助的地方,因为google人员正在监视与google服务关联的标签。也许这个话题比我之前的https://issuetracker.google.com/issues/79183616汇总了更多反馈
所以我想问其他开发人员,您打算如何处理您的项目,每天1万条查询就足够了吗?
此代码曾经在 4 天前工作,现在显示错误。我尝试使用 pytube3 但这没有帮助。
from pytube import YouTube**
YouTube('https://www.youtube.com/watch?v=JbBsqmKclXE').streams**
Run Code Online (Sandbox Code Playgroud)
()
----> 1 YouTube('https://www.youtube.com/watch?v=JbBsqmKclXE').streams 中的HTTPError Traceback(最近一次调用最后一次)
14 帧
/usr/lib/python3.7/urllib/request.py in http_error_default(self, req, fp, code, msg, hdrs)
647 class HTTPDefaultErrorHandler(BaseHandler):
648 def http_error_default(self, req, fp, code, msg, hdrs):
Run Code Online (Sandbox Code Playgroud)
--> 649 引发 HTTPError(req.full_url, code, msg, hdrs, fp) 650 651 类 HTTPRedirectHandler(BaseHandler):
HTTPError:HTTP 错误 404:未找到
我遇到了谷歌播放开发者控制台的问题.很久以前我被邀请在控制台中共享帐户,但现在当我尝试查看此帐户时,我收到一条消息"开发者帐户无效",但此帐户位于我的"共享帐户"列表中.所以问题是,如何离开这个帐户?
因此,使用日历 API 从公开可用的 Google 日历中提取所有事件。
这一直工作到今天早上。
由于我没有更新或进行任何数据更改,我们已经实现了一个 API 密钥来访问只读数据,如下所示:
https://www.googleapis.com/calendar/v3/calendars/[calendar ID]/events?timeZone=EDT&timeMin=2020-06-30T04:00:00.000Z&maxResults=6&singleEvents=true&orderBy=startTime&key=[API key]
Run Code Online (Sandbox Code Playgroud)
昨天拉好了,今天回来了:
代码:401 消息:凭据无效
对此有何想法?它影响了这个日历代码的几个实现(不同的键、域等),但具有相同的基本方法。
我还没有实现 gapi 客户端 javascript 库,现在可以开始研究了。
c# ×2
gmail ×2
google-api ×2
javascript ×2
smtp ×2
youtube-api ×2
.net-core ×1
asp.net ×1
asp.net-core ×1
c3.js ×1
cookies ×1
http-error ×1
iframe ×1
node.js ×1
oauth ×1
php ×1
phpmailer ×1
python ×1
pytube ×1
quota ×1