使用Curl下拉呼叫日志数据

时间:2018-05-03 18:47:49

标签: shell api curl oauth-2.0 ringcentral

我想使用shell脚本和curl从RingCentral下拉调用数据。然后,我将把它放入ELK,使用Kibana构建一个仪表板。但是,我不知道我在使用API​​做了什么。有没有人可以让我开始或有一些示例代码来执行此操作?

我目前正在努力使用curl进行身份验证以获取令牌。目前,我一直得到不受支持的授权类型。我在Sandbox中设置了应用程序,并且只在“仅服务器无用户界面”#34;。

我使用bash shell从Centos 7盒子中运行它。

这是代码尝试过:

curl -X POST "https://platform.devtest.ringcentral.com/restapi/oauth/token"; \
-H "Accept: application/json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-u "my client id:my client secret" \
-d "username=username&password=password&extension=<extension>&grant_type=password"

我将用户名和密码留空了,因为我不确定那是什么。

输出如下:

{
  "error" : "invalid_request",
  "error_description" : "Unsupported grant type",
  "errors" : [ {
    "errorCode" : "OAU-250",
    "message" : "Unsupported grant type"
  } ]
}./rctest1.sh: line 2: -H: command not found

1 个答案:

答案 0 :(得分:0)

我已经能够重现您的错误,并且可以通过删除命令中URL后面的分号(Ingrediente)来解决它。

<强>解释

分号创建两个单独的CLI命令而不是一个,因此在您的调用中,您有两个请求。

- 您的请求1

;

- 您的请求2

$ curl -X POST "https://platform.devtest.ringcentral.com/restapi/oauth/token"

- 您的回复1

$ -H "Accept: application/json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-u "my client id:my client secret" \
-d "username=username&password=password&extension=&grant_type=password"

- 您的回复2

{
  "error" : "invalid_request",
  "error_description" : "Unsupported grant type",
  "errors" : [ {
    "errorCode" : "OAU-250",
    "message" : "Unsupported grant type"
  } ]
}

- 测试命令

这是一个简单的测试,显示操作系统试图处理两个命令:

./rctest1.sh: line 2: -H: command not found

<强>解决方案

- 工作申请

这是一个没有分号的工作请求:

$ hello;world
-bash: hello: command not found
-bash: world: command not found

- 工作回复

以下是工作回复:

$ curl -X POST "https://platform.devtest.ringcentral.com/restapi/oauth/token" \
-H "Accept: application/json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-u "my client id:my client secret" \
-d "username=username&password=password&extension=&grant_type=password"