2

所以,我正在使用 Instagram API,但我不知道如何为登录用户创建一个赞(在照片上)。所以我的演示应用程序当前正在显示用户的提要,它正在请求代表该用户喜欢和评论的权限。我正在使用 PHP 和 Curl 来实现这一点,我在互联网上找到了一些指南:

<?php 
  if($_GET['code']) {
  $code = $_GET['code'];
  $url = "https://api.instagram.com/oauth/access_token";
  $access_token_parameters = array(
    'client_id'                =>     '*MY_CLIENT_ID*',
    'client_secret'            =>     '*MY_CLIENT_SECRET*',
    'grant_type'               =>     'authorization_code',
    'redirect_uri'             =>     '*MY_REDIRECT_URI*',
    'code'                     =>     $code
        );

    $curl = curl_init($url);    // we init curl by passing the url
    curl_setopt($curl,CURLOPT_POST,true);   // to send a POST request
    curl_setopt($curl,CURLOPT_POSTFIELDS,$access_token_parameters);   // indicate the data to send
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);   // to return the transfer as a string of the return value of curl_exec() instead of outputting it out directly.
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);   // to stop cURL from verifying the peer's certificate.
    $result = curl_exec($curl);   // to perform the curl session
    curl_close($curl);   // to close the curl session

    $arr = json_decode($result,true);

    $pictureURL = 'https://api.instagram.com/v1/users/self/feed?access_token='.$arr['access_token'];

    // to get the user's photos
    $curl = curl_init($pictureURL);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    $pictures = curl_exec($curl);
    curl_close($curl);

    $pics = json_decode($pictures,true);

    // display the url of the last image in standard resolution

    for($i = 0; $i < 17; $i++) {
    $id = $pics['data'][$i]['id'];

    $lowres_pic = $pics['data'][$i]['images']['low_resolution']['url'];

    $username = $pics['data'][$i]['user']['username'];
    $profile_pic = $pics['data'][$i]['user']['profile_picture'];

    $created_time = $pics['data'][$i]['created_time'];
    $created_time = date('d. M - h:i', $created_time);

    $insta_header = '<div class="insta_header"><div class="insta_header_pic"><img src="'.$profile_pic.'" height="30px" width="30px"/></div><div class="insta_header_name">'.$username.'</div><div class="insta_header_date">'.$created_time.'</div></div>';
    $insta_main = '<div class="insta_main"><img src="'.$lowres_pic.'" /></div>';
    $insta_footer = '<div class="insta_footer"><div class="insta_footer_like"><button onClick="insta_like(\''.$id.'\')"> Like </button></div><div class="insta_footer_comment"><form onSubmit="return insta_comment(\''.$id.'\')"><input type="text" id="'.$id.'" value="Comment" /></form></div></div>';

    echo '<div class="insta_content">'. $insta_header . $insta_main . $insta_footer .'</div>';
    }

  }
 ?>

现在,这可能是一个愚蠢的问题,但我如何代表用户对特定照片点赞呢?我习惯于使用 JavaScript 来处理这类事情,因此我设置了带有 JS 函数(不存在)的 Like-button。但由于 Instagram 一直在使用 Curl 和 PHP,我猜我必须在这里做同样的事情?我没有使用 Curl 的经验,也不明白它是如何工作的。如果有人也可以给我一个提示,那就太好了。但首先,喜欢。如果可以用 JS 做到这一点,我会很高兴。如果没有,请告诉我如何使用 PHP 和 Curl。

这是 Instagram 开发者网站的链接,其中包含您应该向http://instagram.com/developer/endpoints/likes/发送 POST 请求的 URL 。

如果你不忙,如果你能告诉我如何代表用户发表评论,我会很高兴:)

提前致谢。

  • 亚历山大。
4

0 回答 0