我如何确认发送了Twitter网络意图?

Rya*_*yan 4 twitter webintents

我想在点击Twitter Web Intent后确认用户发推文.我怎么能做到这一点?

例:

<a href="https://twitter.com/intent/tweet?text=Simple+Web+Intent">Tweet</a>
Run Code Online (Sandbox Code Playgroud)

假设匿名*用户点击此链接和推文,我该如何确认?

理想情况下,我希望获得推文的链接.


*anonymous在我的网站上未经过身份验证且不知道他们的Twitter用户名

Nir*_*hah 6

更新

Twitter更新了小部件的行为后,此解决方案不再有效.您只能跟踪现在是否点击了推文按钮,而不是是否实际发布了推文.


您可以使用Twitter API的'twttr.events.bind'事件监听器来跟踪推文.跟踪推文的工作示例可以在这里找到:http://jsfiddle.net/EZ4wu/3/

HTML:

<a href="https://twitter.com/intent/tweet?url=https://www.webniraj.com/2012/09/11/twitter-api-tweet-button-callbacks/&text=Twitter+API:+Tweet+Button+Callbacks"><i class="icon-twitter-sign icon-white"></i> Tweet</a>
Run Code Online (Sandbox Code Playgroud)

JavaScript:

function reward_user( event ) {
    if ( event ) {
        alert( 'Tweeted' );
        console.log( event );
    }
}

window.twttr = (function (d,s,id) {
    var t, js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) return; js=d.createElement(s); js.id=id;
    js.src="//platform.twitter.com/widgets.js"; fjs.parentNode.insertBefore(js, fjs);
    return window.twttr || (t = { _e: [], ready: function(f){ t._e.push(f) } });
    }(document, "script", "twitter-wjs"));

twttr.ready(function (twttr) {
    twttr.events.bind('tweet', reward_user);
});
Run Code Online (Sandbox Code Playgroud)

之前的解决方案现已过时,似乎不再起作用.

  • Twitter没有给出推文ID或用户信息,但是你可以看到使用`console.log(event.target.href)发推文的内容;` (2认同)
  • 不幸的是,在2015年11月20日对Twitter小部件进行更新后,此解决方案也无法正常工作.https://twittercommunity.com/t/forthcoming-change-to-web-intent-events/54718 (2认同)