web-dev-qa-db-fra.com

Comment obtenir la photo de profil haute résolution de l'utilisateur sur Twitter?

Je lisais la documentation de Twitter sur https://dev.Twitter.com/overview/general/user-profile-images-and-banners et il est clairement indiqué que:

Autres tailles d’image pour les images de profil utilisateur Vous pouvez obtenir un la dernière image de profil de l'utilisateur, ainsi que les autres composants comprenant leur identité sur Twitter, à partir d'utilisateurs/show de GET. Dans le objet utilisateur, vous trouverez les éléments profile_image_url et profile_image_url_https des champs. Ces champs contiendront le redimensionné Variante «normale» de l’image téléchargée par l’utilisateur. Cette variante "normale" est typiquement de 48px par 48px.

En modifiant l'URL, vous pouvez récupérer d'autres tailles de variantes, telles que “Plus gros”, “mini” et “original”. Consultez le tableau ci-dessous pour plus d'informations exemples:

Variant Dimensions Exemple URL normale 48px par 48px http://pbs.twimg.com/profile_images/2284174872/7df3h38zabcvjylnyfe3_normal.pnghttps://pbs.twimg.com/profile_images/2284174872/7df3h38zabcvjylnyfe3_normal.png plus grand 73px par 73px http://pbs.twimg.com/profile_images/2284174872/7df3h38zabcvjylnyfe3_bigger.pnghttps://pbs.twimg.com/profile_images/2284174872/7df3h38zabcvjylnyfe3_bigger.png mini 24px par 24px http://pbs.twimg.com/profile_images/2284174872/7df3h38zabcvjylnyfe3_mini.pnghttps://pbs.twimg.com/profile_images/2284174872/7df3h38zabcvjylnyfe3_mini.png original original http://pbs.twimg.com/profile_images/2284174872/7df3h38zabcvjylnyfe3.pnghttps://pbs.twimg.com/profile_images/2284174872/7df3h38zabcvjylnyfe3.png Omettez le trait de soulignement et la variante pour récupérer l'image d'origine. Le les images peuvent être très grandes.

La réponse de l'API Twitter est la suivante pour mon propre compte: 

{
  ....
  "profile_image_url_https" = "https://pbs.twimg.com/profile_images/559415382457348097/qSYxxIAo_normal.png";
  ...
}

Cette URL d'image fonctionne, mais c'est trop petit. J'ai besoin de la plus haute résolution disponible. Je fais exactement ce que Twitter dit, omis le suffixe _normal et essaie l'URL suivante:

https://pbs.twimg.com/profile_images/559415382457348097/qSYxxIAo.png

Mais ce n'est pas trouvé. Les documents Twitter sont-ils obsolètes ou manque-t-il un point?

UPDATE: J'ai essayé avec les profils de quelques amis et la plupart d'entre eux semblent fonctionner, et supprimer tous les suffixes et ajouter _400x400.[jpg|png] semble également fonctionner, mais il est non documenté et peu fiable. en utilisant cette API non documentée en production.

UPDATE 2: J'ai actualisé mon objet utilisateur car Twitter indique également les images obsolètes, mais rien n'a changé.

5
Can Poyrazoğlu

pour moi la solution de contournement consistait à supprimer le "_normal" de la fin de la chaîne

Vérifiez ci-dessous:

8
Silviu St

utilisez cette URL: " https://Twitter.com/(userName)/profile_image?size=original "

Si vous utilisez le SDK Twitter, vous pouvez obtenir le nom d'utilisateur une fois connecté, avec TWTRAPIClient, en utilisant TWTRAuthSession.

Ceci est le code snipe pour iOS:

if let twitterId = session.userID{
   let twitterClient = TWTRAPIClient(userID: twitterId)
   twitterClient.loadUser(withID: twitterId) {(user, error) in
       if let userName = user?.screenName{
          let url = "https://Twitter.com/\(userName)/profile_image?size=original")
       }
   }
}
1
Daniel Bastidas