使用PHP发送身份验证标头

使用PHP发送身份验证标头,php,xml,api,Php,Xml,Api,我对API非常陌生,但我需要在请求XML数据文件时发送一个身份验证头 我有以下脚本,在返回XML文件时处理它 <?php $xml=simplexml_load_file("https://api.familysearch.org/reservation/v1/person/L81G-M81") or die("Error: Cannot create object"); print_r($xml->persons->person->baptism); ?>

我对API非常陌生,但我需要在请求XML数据文件时发送一个身份验证头

我有以下脚本,在返回XML文件时处理它

<?php
$xml=simplexml_load_file("https://api.familysearch.org/reservation/v1/person/L81G-M81") or die("Error: Cannot create object");

print_r($xml->persons->person->baptism);
?> 
人->人->洗礼);
?> 
唯一的问题是,它将未经验证的状态代码401返回给我的请求


有人能告诉我如何在我的请求中发送身份验证头吗?我正在使用访问令牌进行身份验证。同样,我对使用API还不熟悉,非常感谢您的帮助

您可以使用curl发送标题,如下所示:

$service_url = 'https://api.familysearch.org/reservation/v1/person/L81G-M81';
$curl = curl_init($service_url);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($curl, CURLOPT_USERPWD, "username:password"); //Your credentials here
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $curl_post_data);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);

$curl_res = curl_exec($curl);
$response = json_decode($curl_res);
curl_close($curl);

var_dump($response);
验证是否已为ssl连接启用openssl模块

编辑:

这里是一个OAuth示例,用于发送带有令牌的头

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

curl_setopt($crl, CURLOPT_HTTPHEADER,$headr);
要测试命令,可以使用命令行:

curl -H "Authorization: Bearer <ACCESS_TOKEN>" http://www.example.com
curl-H“授权:承载”http://www.example.com

当我尝试返回空值时。我正在尝试使用访问令牌进行身份验证,如果有帮助的话。