J'essaye de mettre un lien de partage Twitter dans un e-mail. Comme il s'agit d'un e-mail, je ne peux pas me fier à JavaScript et je dois utiliser le bouton "Créer votre propre" Tweet.
Par exemple, partager un lien vers Google:
<a href="http://www.twitter.com/share?url=http://www.google.com/>Tweet</a>
Cela fonctionne très bien. Le problème que je rencontre est lorsque l'URL contient une chaîne de requête.
<a href="http://www.twitter.com/share?url=http://mysite.org/foo.htm?bar=123&baz=456">Tweet</a>
Les URL avec des chaînes de requête confondent le service de raccourcissement d'URL de Twitter, t.co. J'ai essayé l'encodage URL de différentes manières et je ne peux rien faire fonctionner. Le plus proche que j'ai obtenu est en faisant cela.
<a href="http://www.twitter.com/share?url=http://mysite.org/foo.htm%3Fbar%3D123%26baz%3D456">Tweet</a>
Ici, je n'ai encodé que la chaîne de requête. Lorsque je fais cela, t.co raccourcit l'URL avec succès, mais en suivant le lien raccourci, il vous amène à l'URL codée. Je vois http://mysite.org/foo.htm%3Fbar%3D123%26baz%3D456
dans la barre d'adresse et j'obtiens l'erreur suivante dans le navigateur
Pas trouvé
L'URL demandée /foo.htm?bar=123&baz=456 est introuvable sur ce serveur.
Je ne sais pas comment résoudre ce problème.
Edit: Re: onteria_
J'ai essayé d'encoder l'URL entière. Lorsque je fais cela, aucune URL n'apparaît dans le Tweet.
la source
http://
basRéponses:
Cela fonctionnera pour vous
Voici un exemple en direct à ce sujet
http://twitter.com/share?text=Im Partage sur Twitter & url = https: //stackoverflow.com/users/2943186/youssef-subehi&hashtags=stackoverflow,example,youssefusf
la source
Cela peut être résolu en utilisant
https://twitter.com/intent/tweet
au lieu dehttp://www.twitter.com/share
. En utilisant laintent/tweet
fonction, vous encodez simplement votre URL entière et cela fonctionne comme un charme.https://dev.twitter.com/web/intents
la source
https://twitter.com/intent/tweet?text={text_to_share}
fonctionne parfaitement sur toutes les plateformes. Je cherchais haut et bas pour ça ... Merci!Utilisez l'intention web tweet, voici le lien simple:
plus de variables sur https://dev.twitter.com/web/tweet-button/web-intent
la source
Ça ne devient pas plus simple que ça:
la source
Vous pouvez utiliser ces fonctions:
la source
var url = ...
) lors de la génération de l'e-mail.Vous devez changer & en% 26 dans la chaîne de requête à partir de votre URL
Regardez ceci: https://dev.twitter.com/discussions/8616
la source
Je référence toutes les méthodes.
Encoder la requête deux fois est la solution rapide.
la source
Vous n'avez pas nécessairement besoin d'utiliser l'intention, si vous encodez votre URL, cela fonctionnera également avec le partage Twitter.
la source
Comme @onteria_ l'a mentionné, vous devez encoder l'intégralité du paramètre. Pour toute autre personne confrontée au même problème, vous pouvez utiliser le bookmarklet suivant pour générer l'URL correctement codée. Copiez-collez-le dans la barre d'adresse de votre navigateur pour créer l' url de partage Twitter . Assurez-vous que le
javascript:
préfixe est présent lorsque vous le copiez dans la barre d'adresse, Google Chrome le supprime lors de la copie.Source sur JS Fiddle http://jsfiddle.net/2frkV/
la source
Si vous l'ajoutez manuel sur le site html, remplacez simplement:
Avec
Code html standard pour &
la source
Twitter vous permet désormais d'envoyer l'URL via un attribut de données. Cela fonctionne très bien pour moi:
la source
Utilisez la ressource Twitter Intent https://dev.twitter.com/web/tweet-button/web-intent
la source