使用Instagram API为用户创建“喜欢”

时间:2013-03-31 19:21:39

标签: php javascript api curl instagram

所以,我正在使用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请求的网址。

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

提前致谢。

  • 亚历山大。

0 个答案:

没有答案