Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >PHP客户端形成服务凭据

PHP客户端形成服务凭据
EN

Stack Overflow用户
提问于 2022-08-26 12:49:56
回答 1查看 228关注 0票数 0

我试图在google/apiclient composer包中使用Google,同时使用这样的服务帐户进行身份验证.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
putenv('GOOGLE_APPLICATION_CREDENTIALS=' . storage_path('google-api-credentials' . DIRECTORY_SEPARATOR . 'service-account.json'));
$client = new \Google_Client();
$client->setScopes([
    \Google\Service\Drive::DRIVE,
    \Google\Service\Drive::DRIVE_FILE,
    \Google\Service\Drive::DRIVE,
    \Google\Service\Drive::DRIVE_READONLY,
    \Google\Service\Forms::FORMS_BODY,
    \Google\Service\Forms::FORMS_BODY_READONLY,
    \Google\Service\Forms::FORMS_RESPONSES_READONLY,
]);
$client->useApplicationDefaultCredentials(true);
$client->setIncludeGrantedScopes(true);
$client->setAccessType('offline');

$service = new \Google_Service_Forms($client);

$service->forms->get('some valid form id')

我使用了相同的服务帐户,以非常类似的方式在相同的代码基中成功地使用了Google。我的问题是,对于Forms API,客户端似乎并不像使用Drive时那样自动处理身份验证。我从API获得的关于上述forms.get请求的响应如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  {
  "error": {
    "code": 401,
    "message": "Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
    "errors": [
      {
        "message": "Login Required.",
        "domain": "global",
        "reason": "required",
        "location": "Authorization",
        "locationType": "header"
      }
    ],
    "status": "UNAUTHENTICATED",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.ErrorInfo",
        "reason": "CREDENTIALS_MISSING",
        "domain": "googleapis.com",
        "metadata": {
          "method": "google.apps.forms.v1.FormsService.GetForm",
          "service": "forms.googleapis.com"
        }
      }
    ]
  }
}

我的composer.json文件包含以下条目:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"extra": {     
    "google/apiclient-services": [
        "Calendar",
        "Drive",
        "Gmail",
        "Directory",
        "Forms"
    ]
},

窗体API为与服务帐户关联的工作区帐户启用。我该如何解决这个问题?我需要自己为forms执行OAuth步骤吗?还是这只是一条误导性错误消息,而我缺少某种权限?如果我可能没有权限,我应该检查哪些权限,在google控制台中可以在哪里找到它们?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-29 22:26:26

根据提供的信息,您可能还没有在OAuth同意中为google添加。进入和OAuth同意屏幕页面,在第二步中,您将看到范围选项添加/删除作用域是否已添加。如果没有,那么添加,然后它将工作良好。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73506348

复制
相关文章
php案例:提交的内容形成了标签
贵哥的编程之路
2023/10/16
1390
php案例:提交的内容形成了标签
php socket(服务端与客户端)demo
环境是:【phpstydy,PHP版本7.3.4nts】,一定要开启【sockets】服务。
红目香薰
2022/11/29
1.8K0
php socket(服务端与客户端)demo
凭据收集总结
本来按计划应该学习横向移动,但是发现一个问题,如何横向?这就是我记录这一章的目的,提升权限之后获取凭证,利用已获取的凭证扩大战果才是正确的姿势,学习的主要资料是参考链接中的分享,建议阅读参考的原文,再次说明,我的只是笔记,记录我的学习过程中的所思所想。
重生信息安全
2020/07/07
6.2K0
凭据收集总结
jenkins学习13-凭据管理(删除多余的凭据)
jenkins在源码管理选择 Credentials 的时候,有时候会不小心添加多余的凭据,在列表中会显示很多,看着碍眼。 可以在首页的凭据管理删除多余的凭据。 凭据管理
上海-悠悠
2020/03/26
2K0
Windows凭据不工作
如果不是敲错IP、用户名、密码,报凭据不工作,一般情况下执行这几句命令后重启远程服务就正常了
Windows技术交流
2021/06/15
6.1K0
Jenkins 凭据使用
原文链接:https://blog.spiritling.cn/posts/6b626a8a/
SpiritLing
2020/07/20
1.4K0
php 监听端口数据客户端ip_PHP获取客户端和服务器端IP[通俗易懂]
$_SERVER[‘HTTP_CLIENT_IP’]:代理端的IP,可能存在,也可能伪造
全栈程序员站长
2022/08/01
2K0
您的凭据不工作 之前用于连接到******的凭据无法工作。请输入新凭据。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/details/49077665
DannyHoo
2018/09/13
57.3K6
您的凭据不工作 之前用于连接到******的凭据无法工作。请输入新凭据。
php判断客户端UserAgent
1 <?php 2 //echo $_SERVER['HTTP_USER_AGENT'];exit; 3 //var_dump(stripos($_SERVER['HTTP_USER_AGENT'
joshua317
2018/04/10
4.3K0
快速学习-Jenkins CLI凭据
通过 jcli 可以在 Jenkins 上创建凭据(Credentials),下面介绍使用方法。
cwl_java
2020/09/21
5930
PHP获取客户端IP
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/124957.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/21
4.7K0
Redis的PHP客户端
Redis支持的客户端种类非常多,包括C、Java、PHP、Python等,本文主要介绍PHP客户端的安装和使用。
大江小浪
2018/07/25
2.2K0
php获取客户端ip
/** * 获取客户端IP地址 * @param integer $type 返回类型 0 返回IP地址 1 返回IPV4地址数字 * @return mixed */ function ge
仙士可
2019/12/17
5.1K0
php获取客户端IP和服务器端IP[通俗易懂]
在PHP获取客户端IP时,常使用 _SERVER[“REMOTE_ADDR”] 。但如果客户端是使用代理服务器来访问,那取到的是代理服务器的 IP 地址,而不是真正的客户端 IP 地址。要想透过代理服务器取得客户端的真实 IP 地址,就要使用_SERVER[“HTTP_X_FORWARDED_FOR”]来读取。
全栈程序员站长
2022/11/15
4.8K0
Jenkins用户、凭据、权限管理
凭据参数、字符参数、密码参数、布尔值参数、文件参数、文本参数、运行时参数、选项参数
DevOps云学堂
2019/10/18
2.8K0
语音_波束形成
理想的全向麦克 理想的指向麦克
全栈程序员站长
2022/07/04
3080
语音_波束形成
红队技巧-导出凭据和密码
红队中各种抓取密码凭据的方法,文末彩蛋,内附工具链接,以及我制作的过360的minikatz的版本,各位请享用,最近筹备重新开blog,记录学习计划,不然知识我学完立马就忘了,与大家一起学习!
Gamma实验室
2021/03/10
2.4K0
红队技巧-导出凭据和密码
ffrpc的php客户端lib
摘要: ffrpc 是c++异步通讯库,使用ffrpc可以非常容易的构建服务器程序。为了使用方便,ffrpc提供了python、php的客户端lib,这样使用php于c++构建的server也是顺手拈来。ffrpc使用thrift或者protobuf作为通信协议,这样实现各个语言版本的ffrpc客户端lib就很容易。 示例: 本例采用php + thrift 和ffrpc构建的echo server 通信,echo server实现的细节可以参见 http://www.cnblogs.com/zhirano
知然
2018/03/09
8810
jenkins获取凭据密码的方法
事情是这样的,有台服务器用随机密码生成器生成了密码。然后用在了jenkins中(恩,work节点的密钥,没有使用key的方式,直接使用了用户名,密码的方式)。然后忘了保存(恩没有养成良好的用户习惯......)。今天突然想登陆一下服务器.....然后看了一下密码生成器,生成了大好几十个密码,总不能一个一个试吧?怎么破?突然想到jenkins上面保存过密码!是不是可以在jenkins上下手呢?
对你无可奈何
2022/10/25
1.9K0
点击加载更多

相似问题

服务不接收客户端凭据。

11

在客户端获取服务凭据

10

从服务访问WCF客户端凭据

10

从PHP服务输出中形成变量

10

使用客户端凭据向服务调用提供服务

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文