gpt4 book ai didi

php - 如何在 PHP 的 cURL POST HTTP 请求中包含授权 header ?

转载 作者:IT王子 更新时间:2023-10-29 00:48:35 26 4
gpt4 key购买 nike

我正在尝试通过 Gmail OAuth 2.0 访问用户的邮件,我正在通过 Google 的 OAuth 2.0 Playground 解决这个问题

在这里,他们指定我需要将其作为 HTTP 请求发送:

POST /mail/feed/atom/ HTTP/1.1
Host: mail.google.com
Content-length: 0
Content-type: application/json
Authorization: OAuth SomeHugeOAuthaccess_tokenThatIReceivedAsAString

我尝试编写代码来发送此请求,如下所示:

$crl = curl_init();
$header[] = 'Content-length: 0
Content-type: application/json';

curl_setopt($crl, CURLOPT_HTTPHEADER, $header);
curl_setopt($crl, CURLOPT_POST, true);
curl_setopt($crl, CURLOPT_POSTFIELDS, urlencode($accesstoken));

$rest = curl_exec($crl);

print_r($rest);

不工作,请帮忙。 :)

更新:我接受了 Jason McCreary 的建议,现在我的代码如下所示:

$crl = curl_init();

$headr = array();
$headr[] = 'Content-length: 0';
$headr[] = 'Content-type: application/json';
$headr[] = 'Authorization: OAuth '.$accesstoken;

curl_setopt($crl, CURLOPT_HTTPHEADER,$headr);
curl_setopt($crl, CURLOPT_POST,true);
$rest = curl_exec($crl);

curl_close($crl);

print_r($rest);

但是我没有得到任何输出。我认为 cURL 在某处默默地失败了。请帮忙。 :)

更新 2: NomikOS 的伎俩为我做到了。 :) :) :) 谢谢!!

最佳答案

你有大部分代码......

CURLOPT_HTTPHEADER curl_setopt()将每个 header 作为一个元素的数组。您有一个包含多个标题的元素。

您还需要将 Authorization header 添加到您的 $header 数组。

$header = array();
$header[] = 'Content-length: 0';
$header[] = 'Content-type: application/json';
$header[] = 'Authorization: OAuth SomeHugeOAuthaccess_tokenThatIReceivedAsAString';

关于php - 如何在 PHP 的 cURL POST HTTP 请求中包含授权 header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12331224/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com