【发布时间】:2016-04-05 15:10:48
【问题描述】:
我已经坚持了 2 天了。我在整个互联网上寻找答案,但找不到。
我需要向 api 发出 POST 请求来注册用户。这是我得到的信息。
url: https://webbsite.com/api/register
HEADERS
..........................................................
Content-Type:application/json
Access-Token: randomaccesstoken
Body
..........................................................
{
'email' => 'John.doe@gmail.com',
'firstName' => 'John',
'lastName' => 'Doe',
'password' => "mypassword1"
}
Response
..........................................................
201
..........................................................
HEADERS
..........................................................
Content-Type:application/json
BODY
..........................................................
{
"success": ture,
"data": {
"user_id": 1,
"token": "randomusertoken"
}
}
这是我目前所拥有的。无论我做什么都会导致错误。我觉得这可能与 Access-Token 放置有关。很难找到使用访问令牌的示例。这是向 php 中的 api 发出 POST 请求的正确方法吗?
$authToken = 'randomaccesstoken';
$postData = array(
'email' => 'John.doe@gmail.com',
'firstName' => 'John',
'lastName' => 'Doe',
'password' => "mypassword1"
);
// Create the context for the request
$context = stream_context_create(array(
'http' => array(
'method' => 'POST',
'header' => "Authorization: {$authToken}\r\n".
"Content-Type: application/json\r\n",
'content' => json_encode($postData)
)
));
$response = file_get_contents('https://webbsite.com/api/register', FALSE, $context);
if($response === FALSE){
die('Error');
}
$responseData = json_decode($response, TRUE);
print_r($responseData);
【问题讨论】:
-
语法看起来不错,应该发送一个 POST 请求。我唯一注意到的是,提供的信息要求标头是访问令牌,而您正在传递一个授权。
-
我只需要将“授权”的措辞更改为“访问令牌”吗?
-
啊,将授权更改为访问令牌很有效。将其发布并回答,以便我接受。