我目前面临一个非常奇怪的问题,实际上我一直在从Google API文档中遵循这个相同的指南(https://developers.google.com/google-apps/calendar/quickstart/php).我尝试了两次,第一次它像魅力一样工作但是在访问令牌过期后,Google API Doc直接提供的脚本无法刷新它.
TL; DR
这是错误消息:
sam@ssh:~$ php www/path/to/app/public/quickstart.php
Fatal error: Uncaught exception 'LogicException' with message 'refresh token must be passed in or set as part of setAccessToken' in /home/pueblo/www/path/to/app/vendor/google/apiclient/src/Google/Client.php:258
Stack trace:
#0 /home/pueblo/www/path/to/app/public/quickstart.php(55): Google_Client->fetchAccessTokenWithRefreshToken(NULL)
#1 /home/pueblo/www/path/to/app/public/quickstart.php(76): getClient()
#2 {main}
thrown in /home/pueblo/www/path/to/app/vendor/google/apiclient/src/Google/Client.php on line 258
Run Code Online (Sandbox Code Playgroud)
这是我修改的谷歌php脚本的一部分:
require_once __DIR__ . '/../vendor/autoload.php';
// I don't want the creds to be in my home folder, I prefer them in the app's root
define('APPLICATION_NAME', 'LRS API Calendar');
define('CREDENTIALS_PATH', __DIR__ . …Run Code Online (Sandbox Code Playgroud) php google-calendar-api google-api access-token google-api-php-client
我最近遇到了一个“错误”,即使有S3FullAccess,我仍然会得到
An error occurred (403) when calling the HeadObject operation: Forbidden
Run Code Online (Sandbox Code Playgroud)
跑步时aws s3api head-object --bucket cool-bucket --key my/key/to/file.png。
经过一番研究,结果发现该文件my/key/to/file.png是匿名上传的,因此我(经过身份验证的用户)不是该对象的合法所有者,因此拒绝了我的 HEAD 请求。
解决方案似乎是使用 ACL 或将“对象所有权”更改为“禁用 ACL(强制执行存储桶所有者)”。
这确实是解决方案,因此我尝试更改我的 CloudFormation 模板以将对象所有权设置为“强制执行存储桶所有者”,但文档是谎言。
事实上,文档只指定了这一点Allowed values: ObjectWriter | BucketOwnerPreferred,但是当运行aws s3api get-bucket-ownership-controls --bucket bucketname到我手动调整的存储桶上时,我得到了以下 JSON:
An error occurred (403) when calling the HeadObject operation: Forbidden
Run Code Online (Sandbox Code Playgroud)
清楚地表明这BucketOwnerEnforced是 CloudFormation 属性的有效且允许的值OwnershipControls.Rules.[].ObjectOwnership。在文档的其他地方,我没有看到允许我将对象所有权设置为“强制执行存储桶所有者”的属性,从而禁用 ACL。
为什么没有记录下来?我认为 CloudFormation 文档是自动生成的,并且可能不完整/过时。
我使用 i3wm 作为我的窗口管理器,我想添加一个播放/暂停、下一个、上一个和停止 VLC 的绑定。然而,与 MPV 不同的是,当 VLC 进程已经在外部运行时,VLC 没有内置 CLI 控制。
多年来,我有很多机会对专有文件进行“逆向工程”,而且我注意到很多时候这些都是“伪装的”ZIP 文件,它们只是打包标准的 XML、HTML、配置和原始文本文件。但我不明白开发者为什么要这样做。
我脑海中关于这些“伪装”文件格式的几个例子是:
还有许多其他此类文件格式,有时甚至确实不希望其数据文件被公开读取的公司也依赖这种伪装的 ZIP 来存储数据(例如游戏保存)。
与自定义文件类型相比,ZIP 文件有哪些技术优势?
在 ZIP 之上构建(有时是专有的)新文件格式的做法是否有一个名称?
access-token ×1
acl ×1
amazon-s3 ×1
dbus ×1
filesystems ×1
format ×1
google-api ×1
i3 ×1
php ×1
vlc ×1
zip ×1