Próbuję umieścić link udostępniania Twittera w wiadomości e-mail. Ponieważ jest to wiadomość e-mail, nie mogę polegać na JavaScript i muszę użyć przycisku „Zbuduj swój własny” Tweet.
Na przykład udostępnienie łącza do Google:
<a href="http://www.twitter.com/share?url=http://www.google.com/>Tweet</a>
To działa dobrze. Problem, który mam, polega na tym, że adres URL zawiera ciąg zapytania.
<a href="http://www.twitter.com/share?url=http://mysite.org/foo.htm?bar=123&baz=456">Tweet</a>
Adresy URL z ciągami zapytań mylą usługę skracania adresów URL na Twitterze, t.co. Próbowałem kodowania adresów URL na różne sposoby i nie mogę nic zrobić. Najbliżej osiągnąłem, robiąc to.
<a href="http://www.twitter.com/share?url=http://mysite.org/foo.htm%3Fbar%3D123%26baz%3D456">Tweet</a>
Tutaj zakodowałem tylko ciąg zapytania. Kiedy to robię, t.co skutecznie skraca adres URL, ale po przejściu do skróconego linku prowadzi do zakodowanego adresu URL. Widzę http://mysite.org/foo.htm%3Fbar%3D123%26baz%3D456
na pasku adresu i pojawia się następujący błąd w przeglądarce
Nie znaleziono
Żądanego adresu URL /foo.htm?bar=123&baz=456 nie znaleziono na tym serwerze.
Nie wiem, jak rozwiązać ten problem.
Edycja: Re: onteria_
Próbowałem zakodować cały adres URL. Kiedy to robię, żaden adres URL nie pojawia się w tweecie.
źródło
http://
dołuOdpowiedzi:
To zadziała dla Ciebie
Oto przykład na żywo na ten temat
http://twitter.com/share?text=Im Udostępnianie na Twitterze & url = https: //stackoverflow.com/users/2943186/youssef-subehi&hashtags=stackoverflow,example,youssefusf
źródło
Można to rozwiązać, używając
https://twitter.com/intent/tweet
zamiasthttp://www.twitter.com/share
. Korzystając z tejintent/tweet
funkcji, po prostu kodujesz cały adres URL i działa to jak urok.https://dev.twitter.com/web/intents
źródło
https://twitter.com/intent/tweet?text={text_to_share}
działa doskonale na wszystkich platformach. Szukałem tego wysoko i nisko ... Dzięki!Użyj zamiaru w sieci tweet, oto prosty link:
więcej zmiennych na https://dev.twitter.com/web/tweet-button/web-intent
źródło
To nie jest prostsze niż to:
źródło
Możesz użyć tych funkcji:
źródło
var url = ...
) podczas generowania wiadomości e-mail.Musisz zmienić & na% 26 w ciągu zapytania z twojego adresu URL
Spójrz na to: https://dev.twitter.com/discussions/8616
źródło
Odwołuję się do wszystkich metod.
Szybkim rozwiązaniem jest dwukrotne zakodowanie zapytania.
źródło
Nie musisz koniecznie używać zamiaru, jeśli zakodujesz swój adres URL, będzie on również działał z udostępnianiem na Twitterze.
źródło
Jak wspomniał @onteria_, musisz zakodować cały parametr. Dla każdego, kto boryka się z tym samym problemem, możesz użyć poniższego bookmarkletu, aby wygenerować prawidłowo zakodowany adres URL. Skopiuj i wklej go do paska adresu przeglądarki, aby utworzyć adres URL udostępniania na Twitterze . Upewnij się, że
javascript:
prefiks istnieje, gdy kopiujesz go do paska adresu, Google Chrome usuwa go podczas kopiowania.Źródło na JS Fiddle http://jsfiddle.net/2frkV/
źródło
Jeśli dodasz instrukcję na stronie html, po prostu zastąp:
Z
Standardowy kod html dla &
źródło
Twitter umożliwia teraz wysyłanie adresu URL za pomocą atrybutu danych. To działa świetnie dla mnie:
źródło
Skorzystaj z zasobu Twitter Intent https://dev.twitter.com/web/tweet-button/web-intent
źródło