使用API Key调用reCaptcha Enterprise assessments.create接口时遭遇403权限拒绝问题求助
使用API Key调用reCaptcha Enterprise assessments.create接口时遭遇403权限拒绝问题求助
各位好,我现在遇到个棘手的问题:正在给一个拥有Google Cloud企业账号的客户配置reCaptcha,考虑到客户现有文件配置,我选了最简便的API Key方式来对接。前面的步骤都很顺利,直到调用reCaptcha Enterprise的assessments.create接口时,curl返回了403权限拒绝错误:
{ "error": { "code": 403, "message": "Permission denied for:
recaptchaenterprise.assessments.create. Please ensure you have sufficient permissions: https://cloud.google.com/iam/docs/granting-changing-revoking-access", "status": "PERMISSION_DENIED" } }
我的调用代码如下(敏感信息已用占位符替换):
$verify_url = "https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/assessments?key=API_KEY"; $data = [ "event" => [ 'expectedAction' => 'CONTACT_FORM', "token" => $recaptcha_token, 'siteKey' => $google_site_key ] ]; $ch = curl_init($verify_url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); $response = curl_exec($ch); curl_close($ch); $response_data = json_decode($response);
我已经尝试了以下两种方案,但都没有解决问题:
- 专门创建了一个服务账号,给它分配了「reCAPTCHA Enterprise Agent」的访问权限,但完全没用;更关键的是,我搞不懂API Key到底应该怎么和这个服务账号关联起来
- 为了排除限制问题,我移除了API Key的所有应用和API限制,结果还是报同样的403错误
有没有大佬能帮我捋清楚:用API Key调用这个接口到底需要哪些正确的权限配置?或者是不是我对API Key和服务账号的关系理解完全错了?
内容来源于stack exchange
相关产品推荐
相关产品推荐

