PHP:使用JSON API和GET

时间:2015-08-12 13:37:02

标签: php json curl

我正在尝试使用我不熟悉的API。到目前为止,我发送和检索数据的努力都失败了,我希望你能帮助我。

以下是我正在使用的API的基础知识:

  1. 我有一个API密钥,必须在每个请求的HTTP Authorization标头中提供。格式应为:

    身份验证:令牌令牌= MyApiKey

  2. 我需要对此特定请求使用GET

  3. 我需要传递的论据是:

    { 'things':{'thing1':0,'thing2':1} }

  4. 我正在使用PHP和curl。我尝试过各种各样的东西,但没有取得任何成功。基本上,我不知道如何获取我的变量值并以正确的格式传递它们。

    这是我到目前为止所做的事情:

    $token='myApiKey';
    
    $myThings = "{ 'things': { 'thing1':0, 'thing2':1 } } ";
    
    $url = 'http://myapiurl?' . $myThings;
    
    $session = curl_init($url);
    curl_setopt ($session, CURLOPT_HTTPHEADER, array('Authentication: Token token=' . $token . ', Content-Type:application/json'));
    curl_setopt ($session, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($session, CURLOPT_HTTPGET, true);
    curl_setopt ($session, CURLOPT_TIMEOUT, '3');
    
    $response = curl_exec($session);
    

    任何人都可以解释如何以API可以理解的方式提交我的值吗?

2 个答案:

答案 0 :(得分:0)

您好,也许您可​​以使用http_build_query为您编码:

$url = 'http://myapiurl?' . http_build_query($answers);

Doc是HERE

答案 1 :(得分:0)

这不是一个JSON API,您可以在其中输入正常的GET参数并获得JSON响应吗?所以在你的例子中:

$url = 'http://myapiurl?'.http_build_query(json_decode($myThings));

如果没有,你可以将你的JSON发布。