Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php的google api中出现无效api密钥权限被拒绝错误_Php_Codeigniter_Google Api - Fatal编程技术网

使用php的google api中出现无效api密钥权限被拒绝错误

使用php的google api中出现无效api密钥权限被拒绝错误,php,codeigniter,google-api,Php,Codeigniter,Google Api,我第一次使用GoogleAPI时,我的代码执行得非常完美,甚至使用PeopleServiceAPI给我提供数据……但第二次它给了我以下错误 类型:谷歌服务例外 消息:{“错误”:{“代码”:403,“消息”:“请求丢失” 有效的API键。“,”错误“:[{”消息“:”请求缺少 有效的API密钥“,”域“:”全局“,”原因“:”禁止“}], “状态”:“权限被拒绝”} 我正在使用codeignitor,这是重定向uri控制器函数…提前感谢,抱歉英语不好 $client = $this->go

我第一次使用GoogleAPI时,我的代码执行得非常完美,甚至使用PeopleServiceAPI给我提供数据……但第二次它给了我以下错误

类型:谷歌服务例外

消息:{“错误”:{“代码”:403,“消息”:“请求丢失” 有效的API键。“,”错误“:[{”消息“:”请求缺少 有效的API密钥“,”域“:”全局“,”原因“:”禁止“}], “状态”:“权限被拒绝”}

我正在使用codeignitor,这是重定向uri控制器函数…提前感谢,抱歉英语不好

$client = $this->google_client_setup();
$client->authenticate($this->input->get('code'));
$access_token = $client->getAccessToken();
$people_service = new Google_Service_PeopleService($client);


$profile = $people_service->people->get(
    'people/me', array('personFields' => 'names,emailAddresses'));
$access_token = $access_token['access_token'];
$email = $profile['emailAddresses'][0]['value'];
$name =  $profile['names'][0]['displayName'];
$user = [
    'email' => $email,
    'name' => $name,
    'is_admin' => 0
];

很难说,但我认为,如果它说它缺少有效的api密钥,您应该将其视为答案;)

第一次跑步后,你是否被重定向到了某个地方?这可以解释哈维尔评论的问题

我建议转储两件事来调试代码:

$this->input->get('code')
如果这样可以,那么

$access_token
这会让你知道你的问题是什么:)


祝你好运

如果看不到控制器的其余部分并且不知道它是如何调用的,很难判断,但是很可能在第二次运行时,您没有通过
GET
获得
code
。这将导致
$client
无法正确设置,然后在使用它的所有设备上都会出现异常行为,但我的代码第一次执行得非常完美..我在刷新页面时出现此错误这正是我的观点。。。在第一次运行时,您似乎通过
GET
正确地传递了变量,但在刷新页面时没有正确传递,而且两次都正确地设置了变量?