【问题标题】:Netsuite API throws 400 bad requestNetsuite API 抛出 400 错误请求
【发布时间】:2020-10-28 01:23:27
【问题描述】:

我正在尝试连接 Netsuite Customer API,但它会抛出 "400 bad request"

这是我的 PHP 代码

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://xxxxxxx-sb1.suitetalk.api.netsuite.com/services/rest/record/v1/customer/1",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_FAILONERROR => true,
  CURLOPT_SSL_VERIFYHOST=>false,
  CURLOPT_SSL_VERIFYPEER=>false,
  CURLOPT_HTTPHEADER => array(
    "Authorization: OAuth realm=\"xxxxxxx_SB1\",oauth_consumer_key=\"consumer_key_xxxxxx\",oauth_token=\"auth_token_xxxxxxxx\",oauth_version=\"1.0\""
  ),
));

$response = curl_exec($curl);
if (curl_errno($curl)) {
    $error_msg = curl_error($curl);
}
var_dump($error_msg);
curl_close($curl);
var_dump($response);
?>

上面的代码是我从邮递员那里复制的。在邮递员中,它返回数据但是当我在文件中复制 php 的代码时它不起作用,有人能建议我哪里出错了吗? 我的本地主机网址:localhost/netsuite_api.php

【问题讨论】:

    标签: php api curl postman netsuite


    【解决方案1】:

    无论出于何种原因,netsuite API 都会返回 400,即使根据 docs 应该是 401

    从有关身份验证的文档中,您需要发送更多字段 (see page 169 following):

    Authorization:
     OAuth realm="12345",
     oauth_consumer_key="4a3ff6c251a55057bb1e62d8dc8998a0366e88f3a8fe735265fc425368b0f154",
     oauth_token="52cfe88fecf2e2b74e833e7dfc4cae79ff44c3ca9f696d61e2a7eac6c8357c3c",
     oauth_nonce="qUwlmPvtGCS4sHJe8F7x",
     oauth_timestamp="1462453273",
     oauth_signature_method="HMAC-SHA1", oauth_version="1.0",
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-29
      • 2022-01-04
      • 2020-11-13
      相关资源
      最近更新 更多