如何用ajax发布到instagram?请帮帮我

时间:2012-07-28 17:05:29

标签: ajax jquery instagram

我有这个代码,但它不起作用。它告诉我ajax帖子是成功但当我看起来刷新时我看到它不喜欢。

<?
if ($data->user_has_liked == false) 
{ 
?>

<a href="#" id="<?=$data->id;?>" class="like"><span class="<?=$data->id;?>">Like</span></a>
<? } else { echo 'Liked'; } ?>

<script type="text/javascript">
       $('a.like').click(function() {
            var mediaId = $(this).attr('id');
            $.ajax({
                url: "https://api.instagram.com/v1/media/" + mediaId + "/likes?callback=?",
                dataType: "jsonp",
                data: {
                    access_token: '<?=$access_token;?>',
                    _method: 'POST'
                },
                type: "POST",
                success: function(data, textStatus, jqXHR) {
                  $("."+mediaId+"").text('Liked');
                },
                error: function(jqXHR, textStatus, errorThrown) {
                     $("."+mediaId+"").text('Error!<br/>' + textStatus + ' - ' + errorThrown);
               }
             });
        });
</script>

1 个答案:

答案 0 :(得分:2)

我正在构建类似的东西并且最近遇到了这个问题。

即使您的请求是作为类型发送的:POST请求本身实际上是作为GET发送的。这会导致您的请求返回成功而不喜欢任何内容。相反,它将返回该媒体ID的所有数据。

如果您将数据类型更改为JSON而不是JSONP,则您的请求应该按照您的意愿工作;但是,它可能需要HTTPS连接,需要SSL。