【问题标题】:laravel php curl request for finerworks apilaravel php curl 请求 Finerworks api
【发布时间】:2021-02-21 13:08:39
【问题描述】:

我想使用finerworks api 我的卷曲代码在这里

$data1 = array(
'web_api_key' => '********-****-****-*****-************',
'app_key' => '********-****-****-*****-************',
);
$data2['credentials'] = $data1;
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.finerworks.com/v3/test_my_credentials",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30000,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode($data2),
CURLOPT_HTTPHEADER => array(
    "accept: */*",
    "accept-language: en-US,en;q=0.8",
    "content-type: application/json",
),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
print_r(json_decode($response));
}

当我运行此代码时,下面是我的请求响应

stdClass Object ( [Message] => The request is invalid. [ModelState] => stdClass Object ( [ApiC.Models.authorization_credentials] => Array ( [0] => Missing or unauthorized api credentials ) ) ) 

请帮我解决这个问题 提前致谢

【问题讨论】:

    标签: php laravel curl php-curl laravel-api


    【解决方案1】:

    在标头中传递凭据

    $data1 = array(
        'web_api_key' => '********-****-****-*****-************',
        'app_key' => '********-****-****-*****-************',
    );
    $data2['credentials'] = $data1;
    $curl = curl_init();
    curl_setopt_array($curl, array(
        CURLOPT_URL => "https://api.finerworks.com/v3/test_my_credentials",
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_ENCODING => "",
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_TIMEOUT => 30000,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => "POST",
        CURLOPT_POSTFIELDS => json_encode($data2),
        CURLOPT_HTTPHEADER => array(
            "accept: */*",
            "accept-language: en-US,en;q=0.8",
            "content-type: application/json",
            "web_api_key: YOUR web_api_key",
            "app_key: YOUR app_key",
        ),
    ));
    
    $response = curl_exec($curl);
    $err = curl_error($curl);
    
    curl_close($curl);
    
    if ($err) {
        echo "cURL Error #:".$err;
    } else {
        print_r(json_decode($response));
    }
    

    【讨论】:

    • 我已经设置了这个,现在它显示这个错误 stdClass Object ( [Message] => 发生错误。[ExceptionMessage] => 对象引用未设置为对象的实例。[ExceptionType ] => System.NullReferenceException [StackTrace] => 在 System.Object.GetType() 的 ApiC.Models.CustomValidator.RequiredOrderList.IsValid(Object value, ValidationContext validationContext) 在 D:\Visual Studio 2017\Projects\ApiC\ApiC\模型\CustomValidator.cs:第 233 行
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-20
    • 1970-01-01
    • 2017-05-25
    • 1970-01-01
    • 2019-04-08
    • 2016-06-14
    • 2017-03-29
    相关资源
    最近更新 更多