Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 邮戳API不工作_Php_Api_Curl_Postmates - Fatal编程技术网

Php 邮戳API不工作

Php 邮戳API不工作,php,api,curl,postmates,Php,Api,Curl,Postmates,我正在为我的书店使用postmates API。 我正在使用他们的测试凭证,但我不知道如何使用它。请指导我如何进行基本api调用。 我正在使用PHP。我想使用cURL发送post数据 多谢各位 来自: Postates API要求通过HTTP基本身份验证头进行身份验证。您的API密钥应包含在用户名中。密码应保留为空 这意味着您需要执行以下操作: $curl = curl_init(); $url = "http://whatever-this-should-be"; curl_setopt($

我正在为我的书店使用postmates API。 我正在使用他们的测试凭证,但我不知道如何使用它。请指导我如何进行基本api调用。 我正在使用PHP。我想使用cURL发送post数据 多谢各位

来自:

Postates API要求通过HTTP基本身份验证头进行身份验证。您的API密钥应包含在用户名中。密码应保留为空

这意味着您需要执行以下操作:

$curl = curl_init();
$url = "http://whatever-this-should-be";
curl_setopt($curl, CURLOPT_URL, $url);
$username = "your-api-key-goes-here";
$password = ""; // leave this blank, as per the doc
curl_setopt($curl, CURLOPT_USERPWD, "$username:$password");
$res = curl_exec($curl);
您需要调整其他curl选项来处理输出等,但这是您需要的核心

如果您想在稍微高一点(即更容易)的级别上完成所有这一切,您可能还想检查一下


更新:请注意,这只是示例代码。我不主张将API密钥存储在脚本文件中以用于生产代码

我已经编写了此代码,它运行良好。谢谢大家回答我的问题

    $url = "https://api.postmates.com/v1/customers/my-customer-id/delivery_quotes";

    $uname = "my-api-key";
    $pwd = null;

    $process = curl_init($url);
    curl_setopt($process, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded','Accept: application/json'));
    curl_setopt($process, CURLOPT_HEADER, 1);
    curl_setopt($process, CURLOPT_USERPWD, $uname . ":" . $pwd);
    curl_setopt($process, CURLOPT_TIMEOUT, 30);
    curl_setopt($process, CURLOPT_POST, 1);
    curl_setopt($process, CURLOPT_POSTFIELDS, "dropoff_address=20 McAllister St, San Francisco, CA 94102&pickup_address=101 Market St, San Francisco, CA 94105");
    curl_setopt($process, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($process, CURLOPT_SSL_VERIFYPEER, false);
    $return = curl_exec($process);

    curl_close($process);

    var_dump($return);

你能提供一个到“邮戳”的链接以避免人们不得不去寻找它吗?是吗?文档看起来很好-你有什么问题吗?我是初学者,我想知道,我如何在邮戳上验证自己?我使用cUrl发送请求,我还设置了头,但是我得到了“无效的授权错误”。请给我看一个php的示例代码好吗?现在你给了我们一些更有用的代码。不过,我真的希望这不是您实际的API密钥!您的实际具体输出是什么?看起来“收货地址”和“收货地址”是必需的参数:谢谢您的代码。我已经更改了代码,但是现在我遇到了这个错误。string(394)“HTTP/1.1100 Continue HTTP/1.1400错误请求内容类型:application/json