it-swarm.com.de

Freigeben einer URL mit einer Abfragezeichenfolge bei Twitter

Ich versuche, einen Twitter-Link in eine E-Mail zu setzen. Da dies eine E-Mail ist, kann ich mich nicht auf JavaScript verlassen und muss die Tweet-Schaltfläche "Build Your Own" verwenden.

Geben Sie beispielsweise einen Link an Google weiter:

<a href="http://www.Twitter.com/share?url=http://www.google.com/>Tweet</a>

Das funktioniert gut. Das Problem, das ich habe, ist, wenn die URL eine Abfragezeichenfolge hat.

<a href="http://www.Twitter.com/share?url=http://mysite.org/foo.htm?bar=123&baz=456">Tweet</a>

URLs mit Abfragezeichenfolgen verwechseln den URL-Verkürzungsservice von Twitter, t.co. Ich habe die URL-Codierung auf verschiedene Weise ausprobiert und kann nichts zur Arbeit bringen. Am nächsten habe ich das gemacht.

<a href="http://www.Twitter.com/share?url=http://mysite.org/foo.htm%3Fbar%3D123%26baz%3D456">Tweet</a>

Hier habe ich nur die Abfragezeichenfolge codiert. Wenn ich dies tue, verkürzt t.co die URL erfolgreich, aber wenn Sie dem gekürzten Link folgen, gelangen Sie zur verschlüsselten URL. Ich sehe http://mysite.org/foo.htm%3Fbar%3D123%26baz%3D456 in der Adressleiste und erhalte die folgende Fehlermeldung im Browser

Nicht gefunden

Die angeforderte URL /foo.htm?bar=123&baz=456 wurde auf diesem Server nicht gefunden.

Ich weiß nicht, wie ich dieses Problem lösen kann.

Bearbeiten: Re: onteria_

Ich habe versucht, die gesamte URL zu kodieren. Wenn ich das tue, erscheint keine URL im Tweet.

88
haydenmuhl

Dies kann durch die Verwendung von https://Twitter.com/intent/Tweet anstelle von http://www.Twitter.com/share gelöst werden. Mit der intent/Tweet-Funktion kodieren Sie einfach die gesamte URL mit einer URL, die wie ein Zauber wirkt.

https://dev.Twitter.com/web/intents

90
haydenmuhl

Dies wird für Sie arbeiten

http://Twitter.com/share?text=text goes here&url=http://url goes here&hashtags=hashtag1,hashtag2,hashtag3

Hier ist ein Live-Beispiel darüber


http://Twitter.com/share?text=Im Teilen auf Twitter & url = https: //stackoverflow.com/users/2943186/youssef-subehi&hashtags=stackoverflow,example,youssefusf

129
Youssef Subehi

Verwenden Sie Tweet Web Intent, dies ist der einfache Link:

https://Twitter.com/intent/tweet?url=<?=urlencode($url)?>

weitere Variablen unter https://dev.Twitter.com/web/Tweet-button/web-intent

21
kampageddon

Sie müssen nicht unbedingt eine Absicht verwenden, denn wenn Sie Ihre URL kodieren, funktioniert sie auch mit Twitter.

2
Dragos Rusu

Sie müssen &% in der Abfragezeichenfolge von Ihrer URL aus ändern

Sehen Sie sich dies an: https://dev.Twitter.com/discussions/8616

2
Thiago Valentim

Wie @onteria_ erwähnt, müssen Sie den gesamten Parameter kodieren. Für alle anderen Benutzer, die das gleiche Problem haben, können Sie das folgende Bookmarklet verwenden, um die ordnungsgemäß codierte URL zu generieren. Kopieren Sie es in die Adressleiste Ihres Browsers, um die Twitter-Freigabe-URL zu erstellen. Stellen Sie sicher, dass das Präfix javascript: vorhanden ist, wenn Sie es in die Adressleiste kopieren. Google Chrome entfernt es beim Kopieren.

javascript:(function(){var url=Prompt("Enter the url to share");if(url)Prompt("Share the following url - ","http://www.Twitter.com/share?url="+encodeURIComponent(url))})();

Quelle zu JS Fiddle http://jsfiddle.net/2frkV/

1
Joyce Babu

Einfacher geht es nicht:

<a href="https://Twitter.com/intent/tweet?text=optional%20promo%20text%20http://example.com/foo.htm?bar=123&baz=456" target="_blank">Tweet</a>
1

Mit Twitter können Sie die URL jetzt über ein Datenattribut senden. Das funktioniert gut für mich: 

<a href="javascript:;" class="Twitter-share-button" data-lang="en" data-text="check out link b" data-url="http://www.lyricvideos.org/tracks?videoURL=SX05JZ4FisE">Tweet</a>
0
user3798322

Verwenden Sie die Ressource Twitter Intent https://dev.Twitter.com/web/Tweet-button/web-intent

0
Wil Gichu

Sie können diese Funktionen verwenden:

 function shareOnFB(){
       var url = "https://www.facebook.com/sharer/sharer.php?u=https://yoururl.com&t=your message";
       window.open(url, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=300,width=600');
       return false;
  }


function shareOntwitter(){
    var url = 'https://Twitter.com/intent/tweet?url=URL_HERE&via=getboldify&text=yourtext';
    TwitterWindow = window.open(url, 'TwitterWindow',width=600,height=300);
    return false;
 }


function shareOnGoogle(){
     var url = "https://plus.google.com/share?url=https://yoururl.com";
     window.open(url, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=350,width=480');
     return false;
}


<a onClick="shareOnFB()"> Facebook </a>
<a onClick="shareOntwitter()"> Twitter </a>
<a onClick="shareOnGoogle()"> Google </a>
0
PHP Worm...