小编Jul*_*ing的帖子

Trustpilot Api-“获得私有产品评论”始终返回未经授权的响应状态

我希望有一个人可以帮助我。

我正在尝试使用Trustpilot Api检索产品的产品评论,并取得了一些成功,但未获得我期望的结果。

我采用的方法如下:

  1. 获取一个OAUTH2令牌-(返回成功的响应)
  2. 从配置文件中检索我的业务部门,并为每个业务部门使用端点获取产品评论:-(https://api.trustpilot.com/v1/private/business-units/{business-unit}/review?token={OAUTH2 token from step 1}返回成功的响应)
  3. 对于每个产品评论,我尝试检索产品评论详细信息。为此,我有两个选择。

    (i)每个产品评论都有元链接,因此我可以使用相应的元链接并在apikey上加标签来获得产品评论,例如https://api.trustpilot.com/v1/reviews/1234567890abcdefg?apikey={apikey}apikey是我注册开发者帐户时提供的apikey-(返回成功响应)

    (ii)调用developers.trustpilot.api网站(https://developers.trustpilot.com/product-reviews-api#get-private-product-review)中记录的端点https://api.trustpilot.com/v1/private/product-reviews/{reviewId}:-(返回未经授权的状态码)

对于上面的选项(ii),我尝试了多种传递apikey的方法(根据文档,端点需要apikey作为授权。

我使用C#作为访问Trustpilot api的语言,因此以下代码段是我尝试调用该方法的方式。

  1. 如下设置GetProductReview端点:
    var url = $"https://api.trustpilot.com/v1/private/product-reviews/" + review.Id.ToString();        
    using (var client = new HttpClient())
    {
       var uri = new Uri(url, UriKind.Absolute);
       client.BaseAddress = uri;

       client.DefaultRequestHeaders.Clear();
       client.DefaultRequestHeaders.Accept.Add(new system.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
       client.DefaultRequestHeaders.Add("apikey", apiKey);

       try
       {
         var response = client.GetAsync(uri).Result;
             .
             .
             .
Run Code Online (Sandbox Code Playgroud)

在上面的代码片段中,将apikey传递给方法,并作为RequestHeader值传递给端点。

  1. 如下设置端点:
var url = $"https://api.trustpilot.com/v1/private/product-reviews/" + review.Id + $"?apikey={apiKey}";
Run Code Online (Sandbox Code Playgroud)

并按如下所示调用HttpClient:

  using (var client = new HttpClient())
  {
    var …
Run Code Online (Sandbox Code Playgroud)

api review unauthorized trustpilot

2
推荐指数
1
解决办法
111
查看次数

标签 统计

api ×1

review ×1

trustpilot ×1

unauthorized ×1