jquery - 如何使用 jQuery/JSON/oembed 从 URL 嵌入推文

标签 jquery json twitter

我很难找到embed a tweet的方法动态地进入网页。理想情况下,我希望用户输入 Twitter 状态 URL(例如 https://twitter.com/robdelaney/status/329651129988288514 ),单击按钮,然后将推文嵌入到 div 中。

这是我到目前为止所得到的:

$(document).ready(function(){
  $("#resolve").click(function(){
    var url = $("#retweet_form_url").val();
    if (url==""){
        $(".controls").addClass("error");
    }
    else {
        $("#tweet_div").show();
        $.ajax({
            url: "https://api.twitter.com/1/statuses/oembed.json?url="+url,
            dataType: "jsonp",
            success: function(data){
                // Derp! What do I do here? 
            }
        });
    }
  })
})

当我使用 URL 进行测试时,我确实从 Twitter 收到了一个 JSON 响应,其中包含嵌入推文所需的整个 HTML,但是当我尝试解析它时,我无法在我的 div 中显示任何内容。谁能指出我正确的方向?

最佳答案

data 是一个包含推文详细信息的对象,其中包括一个包含实际嵌入代码的 html 成员。所以:

// ...
   success: function(data){
            $("#tweet_div").html(data.html);
        }
// ...

$(document).ready(function() {
  $("#resolve").click(function() {
    var url = $("#retweet_form_url").val();
    if (url == "") {
      $(".controls").addClass("error");
    } else {
      $("#tweet_div").show();
      $.ajax({
        url: "https://api.twitter.com/1/statuses/oembed.json?url=" + url,
        dataType: "jsonp",
        success: function(data) {
          $('#tweet_details').html(data.html);
        }
      });
    }
  })
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input id=retweet_form_url value="https://twitter.com/robdelaney/status/329651129988288514" />

<button id=resolve>resolve</button>

<div id=tweet_details></div>

关于jquery - 如何使用 jQuery/JSON/oembed 从 URL 嵌入推文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16327187/

相关文章:

Javascript:动态创建引用实例化对象的 html 元素

python - 新手问题 : Python + Twitter + App Engine - Oauth

javascript - Angular - 无需用户输入的分页

javascript - jQuery - 意外的标识符

javascript - HighStock 图表中纪元日期时间未正确显示

php - 适用于许多网站和相关初学者的 Twitter API 1.1、OAuth 和 PHP(用于内容管理系统)

ios - Twitter 工具包 - iOS

javascript 语法/将两个项目放在一个 $ 语法中

javascript - 使用 Fabric.js 删除所有选定的对象

java - Jersey 内容类型定制