0

今天我试图通过 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."}}

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

4

1 回答 1

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;
?>
于 2013-12-27T13:59:11.907 回答