使用 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' 的不同证书,但无法使它起作用。