8

2013 年 6 月 11 日に Twitter が API 1.0 フォーセットをオフにしたため、タイムラインを表示できないサイトがいくつかあります。「あなたがそれをしたなら、今これをしてください」という例を探していました。以下、Twitterのアナウンスでした。 https://dev.twitter.com/blog/api-v1-is-retired

これは、API 1.0 を介して Twitter のタイムラインを表示するために元々行っていたことです。

<div id="twitter">
    <ul id="twitter_update_list"></ul>
    <script type="text/javascript" src="http://twitter.com/javascripts/blogger.js"></script>
    <script type="text/javascript" src="http://api.twitter.com/1/statuses/user_timeline/companytwitterhandle.json?callback=twitterCallback2&amp;count=1"></script>
    <div style="float:left;"><a href="https://twitter.com/companytwitterhandle" target="_blank">@companytwitterhandle</a> | </div>
    <div class="twitterimg">&nbsp;</div>
</div>

最初はJavaScriptの参照URLのバージョンをこんな風に変えてみたのですがうまくいきませんでした。

<script type="text/javascript" src="http://api.twitter.com/1.1/statuses/user_timeline/companytwitterhandle.json?callback=twitterCallback2&amp;count=1"></script>

次に、明確な遷移の例がないTwitter API ドキュメント ( https://dev.twitter.com/docs/api/1.1/overview ) を調べました。それを掘り下げたり、この乱れた FAQ ( https://dev.twitter.com/docs/faq#17750 )を掘り下げたりするのに 4 時間も 5 時間もありません。

次に、ユーザーのタイムラインに関するこの API ドキュメントを見つけました。そのため、以下のように URL を再度変更しました。 https://dev.twitter.com/docs/api/1.1/get/statuses/user_timeline

<script type="text/javascript" src="https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=companytwitterhandle&amp;count=1"></script>

それはうまくいきませんでした。

jQuery または C# ASP.NET MVC を使用して、そのインターフェイスを Twitter API 1.0 から Twitter API 1.1 に移行するにはどうすればよいですか? 私の最初の好みは、可能であれば、ブラウザのクライアント側の実装です。コード例を含めてください。ありがとう。

4

3 に答える 3

0

これが私がこれをした方法です:

ここで私の質問と回答をご覧ください:

Twitter API 1.1 oAuth を使用してユーザーのタイムラインを認証および要求する

上記のソリューションを使用jsonしてページに戻るようにレンダリングし、変数json.

への参照jQueryと twitter-text js ライブラリを配置します。

https://github.com/twitter/twitter-text-js

または 結果を含む を aspxに追加dividます。

 <div id="results"></div> 

次の JavaScript を使用してコンテンツをレンダリングできます。

for (var i = 0; i < json.length; i++) {
                $("#results").append('<div class="tweet"><p><span><strong> - ' + json[i].created_at.substring(0, 16) + '</span></strong></span><br/>' + twttr.txt.autoLink(json[i].text) + '</p>');
                try {
                    for (var j = 0; j < json[i].entities.media.length; j++) {
                        $("#results").append('<a href="' + json[i].entities.media[j].media_url + '"><img src="' + json[i].entities.media[j].media_url + ':thumb" /></a>');
                    }

                } catch(e) {
                }
            }
于 2013-06-14T11:42:11.477 に答える
0

わかりました。私の会社で同様の変更を行う必要があった同僚から回答を受け取りました。これがコード化されたソリューションです。彼は、Twitter タイムラインを備えた新しいインターフェイスを構築するために契約した会社からこれを受け取りました。

<a class="twitter-timeline" href="https://twitter.com/companytwitterhandle" data-widget-id="18DigitMagicNumber" data-chrome="nofooter transparent noscrollbar noheader noborders"  data-tweet-limit="1" >Tweets by @@companytwitterhandle</a>
<script>!function (d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], p = /^http:/.test(d.location) ? 'http' : 'https'; if (!d.getElementById(id)) { js = d.createElement(s); js.id = id; js.src = p + "://platform.twitter.com/widgets.js"; fjs.parentNode.insertBefore(js, fjs); } }(document, "script", "twitter-wjs");</script>

data-widget-id属性に表示されます18DigitMagicNumber。その番号は、どうやら私たちの Twitter ハンドルまたは私たちの会社に関連付けられています。それがどのように生成されるかはわかりません。

示されているように、契約会社が私たちのためにそのコードを書いたので、それが何をしているのかを説明しようとはしません.

これをあるサイトから切り取って無関係なサイトに貼り付けたところ、すぐに機能しました。私が変更した唯一のことは、実際の会社のハンドル と を削除し、シングルをdata-widget-idに置き換えてMVC でエスケープすることでした。@@@

これが、Twitter 1.1 に移行しようとしている皆さんの助けになれば幸いです。ありがとう。

于 2013-06-13T22:07:36.323 に答える