PHP中的Instagram POST“喜欢”不再起作用了吗?

时间:2013-12-25 21:22:13

标签: php api curl instagram social-media-like

今天我试图通过PHP(Curl)发布一个没有运气的喜欢。输出是需要令牌但我使用了工作令牌。我用JS尝试了相同的标记并且它可以工作。

Instagram是否改变了PHP的一些内容?

这是我的代码:

<?php


    $media_id = '615839918291043487_528338984';

    $url = "https://api.instagram.com/v1/media/615839918291043487_528338984/likes?";
    $access_token_parameters = array(
        'access_token'       =>      '191573449.9e262d9.ff708911edcd4f809ca31dd76d08c0ba',
        'action'             =>      'like'
    );

    $curl = curl_init($url);

    curl_setopt($curl,CURLOPT_GET,true);

    curl_setopt($curl,CURLOPT_GETFIELDS,$access_token_parameters);

    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

    echo curl_exec($curl);

?>

输出:

{"meta":{"error_type":"OAuthParameterException","code":400,"error_message":"Missing client_id or access_token URL parameter."}}

我在几台服务器上尝试过它,有几个代理,几个客户端和令牌。希望你知道发生了什么。

1 个答案:

答案 0 :(得分:1)

要为照片添加喜欢,您需要通过POST进行操作。以下是您的代码的修改版本。

<?php

    $url = "https://api.instagram.com/v1/media/615839918291043487_528338984/likes";
    $fields = array(
        'access_token'       =>      '191573449.9e262d9.ff708911edcd4f809ca31dd76d08c0ba'
    );

    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($fields));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $response = curl_exec($ch);
    curl_close($ch);

    echo $response;
?>