0

ユーザーがjQueryアプリ内からリンクをツイートできるようにしようとしています。基本的に、彼らは独自のページを作成し、それを共有するためにいくつかのソーシャルネットワークを選択します。[共有]をクリックすると、アプリはソーシャルネットワークのチェックボックスをループし、選択したとおりにそれぞれに投稿します。

私はTwitterでこれを行うための良い方法を見つけるのに苦労しています-私がオンラインで見るところはどこでも、矛盾するアドバイスを受け取っているようです。

したがって、基本的に、何が起こるべきかはこれです:

  • ユーザーは私のアプリで「Twitter」チェックボックスを選択し、「共有」を押します。
  • 次に、アプリはバックグラウンドでURLを生成し、ユーザーのアカウントのツイートを作成する必要があります。
  • その後、必要に応じて、ユーザーにTwitterから確認ボックスを表示できます(おそらく、ログインしてツイートを確認する必要があります)。
  • ツイートはTwitterフィードに追加されます。

それほど複雑に聞こえませんが、私はそれを行う方法を見つけることができません!

編集

以下の回答のおかげで、私は次のコードを手に入れました:

var serverUrl = 'https://twitter.com/intent/tweet?url="www.rocketreel.com"&text="Test"';

$.ajax({
  type: "GET",
  url: serverUrl,
  success: function(data) {
},

error: function(data) {
  var obj = jQuery.parseJSON(data);
  alert(obj.error);
  }
});

これを実行すると、(コンソールで)次のようになります。

XMLHttpRequest cannot load https://twitter.com/intent/tweet?url=%22www.mysite.com%22&text=%22Test%22. Origin null is not allowed by Access-Control-Allow-Origin.

現在、実際のサイトから実行することはできないので、ローカルホストを使用しています-それが私がこれを取得している理由ですか?

4

1 に答える 1

1

APIドキュメントを読んでみましたか?

https://dev.twitter.com/docs/tweet-button

https://twitter.com/about/resources/buttons#tweet

ツイートボタンのコードを確認し、ツイートボタンの背後にあるコードを実行できます。かなり簡単です...

呼び出されているURLは次のとおりです。

https://twitter.com/intent/tweet?original_referer=yoururl.com&source=tweetbutton&url=http://urltotweet.com&text=[text to tweet]

アップデート:

クロスオリジンの問題が発生しています。いくつかの回避策( CORS、プロキシなど)を使用しない限り、他のオリジンからajaxを介してデータをロードすることはできません。TwitterAPIを変更できないため、プロキシが唯一のオプションです。しかし、それも複雑になる可能性があります。 ..)おそらく必要ないでしょう。

場所... window.open(...)で新しいウィンドウを開くか、ajaxを介して完全なページをロードする代わりに、提供されたURLでiframeを作成します。

于 2012-09-28T10:59:57.737 に答える