繁体   English   中英

调用基本REST API

[英]Calling Base REST API

我正在尝试调用需要接受和授权标头的基本API。 我在控制台应用程序中有以下代码,但始终收到400错误。 我已经在提琴手中拦截了呼叫,并且标题不存在。 如果我在提琴手中手动创建该呼叫,则该呼叫有效。 我在请求中缺少什么吗?

using (var client = new HttpClient())
{
    client.BaseAddress = new Uri("https://api.getbase.com/");

    client.DefaultRequestHeaders.Accept.Clear();
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);

    HttpResponseMessage response = await client.GetAsync("v2/users/self");

    if (response.IsSuccessStatusCode)
    {

    }
}

这是文档https://developers.getbase.com/docs/rest/articles/first_call

下面的示例在使用curl PHP时有效,请注意带有“ User-Agent”的行,请不要忘记$ ACESS_TOKEN。

$ch = curl_init('https://api.getbase.com/v2/leads');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Accept: application/json',
    'User-agent: '.$_SERVER['HTTP_USER_AGENT'], // USER-AGENT 
    'Content-Type: application/json; charset=utf-8',
    'Authorization: Bearer ' .$ACCESS_TOKEN
    )
);

您应该将User-Agent标头添加到请求中,因为错误消息告诉您执行此操作。

错误“:{”代码“:” invalid_header“,”消息“:”无效的请求标头“,”详细信息“:”标头'User-Agent'格式错误,丢失或具有无效值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM