使用 R 从 API 接收 Bearer Token
Receive Bearer Token from API with R
我正在寻找使用用户名和密码从 API 接收 Bearer 令牌的解决方案。
现在我正在通过 Chrome 读取令牌并提取我的数据,这当然不太理想。
我尝试使用 httr 和 curl 通过 R 进行选择并接收 Bearer 令牌,但我想我很迷茫。
我认为这应该很简单,从登录信息中我从登录中收集了掩码作为
{"username":"name","password":"pw"}
,这不应该只与 POST 命令和正确的 headers 一起使用吗?
POST(url="api_login",config=add_headers(c("username: name"
,"password: pw")))
根本不起作用。我可以提供 php 的示例,如下所示:
<?php
// Include Request and Response classes
$url = 'url';
$params = array(
'username' => 'sample_username',
'password' => 'sample_password'
);
// Create a new Request object
$request = new Request($url, 'POST', $params);
// Send the request
$request->send();
// Get the Response object
$response = $request->getResponse();
if($response->getStatusCode() == 200) {
print_r($response->getBodyDecoded());
}
else {
echo $response->getStatusCode() . PHP_EOL;
echo $response->getReasonPhrase() . PHP_EOL;
echo $response->getBody() . PHP_EOL;
}
?>
由于我对 php 不是很熟悉,如果您能提供任何帮助或正确方向的指导,我将非常高兴。我搜索小时
API 通过 R 访问,但一切看起来都非常特定于特殊登录。
我发现这个 API 使用了 Swagger 的弃用版本,如果这是任何有用的信息。
这就是我在 atm 上所做的,登录该网站并从我的浏览器中读取令牌。我想从 R 内部登录,抱歉,如果我不清楚。
我现在将我的代码更新为:
opts=curlOptions(verbose=TRUE,
ssl.verifypeer = T)
postForm(url,
"username:" = uname, "password:"=pswd,
httpheader = c('Content-Type' = 'application/json', Accept = 'application/json'),
.opts=opts,
style='POST'
)
导致错误:SSL 证书问题:证书链中的自签名证书。
我在参数中尝试了很多带有 'cainfo' 的不同证书,但无法使它起作用。
我正在寻找使用用户名和密码从 API 接收 Bearer 令牌的解决方案。
现在我正在通过 Chrome 读取令牌并提取我的数据,这当然不太理想。
我尝试使用 httr 和 curl 通过 R 进行选择并接收 Bearer 令牌,但我想我很迷茫。
我认为这应该很简单,从登录信息中我从登录中收集了掩码作为
{"username":"name","password":"pw"}
,这不应该只与 POST 命令和正确的 headers 一起使用吗?
POST(url="api_login",config=add_headers(c("username: name"
,"password: pw")))
根本不起作用。我可以提供 php 的示例,如下所示:
<?php
// Include Request and Response classes
$url = 'url';
$params = array(
'username' => 'sample_username',
'password' => 'sample_password'
);
// Create a new Request object
$request = new Request($url, 'POST', $params);
// Send the request
$request->send();
// Get the Response object
$response = $request->getResponse();
if($response->getStatusCode() == 200) {
print_r($response->getBodyDecoded());
}
else {
echo $response->getStatusCode() . PHP_EOL;
echo $response->getReasonPhrase() . PHP_EOL;
echo $response->getBody() . PHP_EOL;
}
?>
由于我对 php 不是很熟悉,如果您能提供任何帮助或正确方向的指导,我将非常高兴。我搜索小时 API 通过 R 访问,但一切看起来都非常特定于特殊登录。
我发现这个 API 使用了 Swagger 的弃用版本,如果这是任何有用的信息。
这就是我在 atm 上所做的,登录该网站并从我的浏览器中读取令牌。我想从 R 内部登录,抱歉,如果我不清楚。
我现在将我的代码更新为:
opts=curlOptions(verbose=TRUE,
ssl.verifypeer = T)
postForm(url,
"username:" = uname, "password:"=pswd,
httpheader = c('Content-Type' = 'application/json', Accept = 'application/json'),
.opts=opts,
style='POST'
)
导致错误:SSL 证书问题:证书链中的自签名证书。
我在参数中尝试了很多带有 'cainfo' 的不同证书,但无法使它起作用。