Je veux mettre un plug-in sur mon site web pour "se connecter avec twitter", et mon site web a besoin de récupérer le twitterID et l'email de l'utilisateur après que celui-ci ait autorisé mon application twitter à accéder à ses données. J'ai regardé les documents de développement de Twitter, mais il semble que tout tourne autour d'OAuth avec des exemples compliqués. Existe-t-il un moyen simple de faire cela ? J'ai déjà mis le même genre de plugin pour facebook, et c'est très simple. Merci !
Réponses
Trop de publicités?Je travaille sur C#.Net et j'ai utilisé l'API Tweetinvi, elle est facile à utiliser et possède une bonne documentation.
Pour répondre à votre question, il est possible d'obtenir l'email de l'utilisateur et toutes les données.
1er : Vous devez créer votre application Twitter sur "apps.twitter.com" et l'enregistrer. Ensuite, dans la gestion de l'application, vous trouverez un onglet "Permission" et à la fin de la page, il y a une case à cocher qui indique si vous avez besoin des informations de l'email. Vous devrez fournir un lien vers vos conditions de confidentialité afin que l'utilisateur puisse les lire et accepter de partager ces informations avec votre application. https://google.com mais il est recommandé de fournir un lien valide.
Et c'est tout. Dans le code, il suffit d'authentifier l'utilisateur et d'obtenir les données dont vous avez besoin.
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tweetinvi;
using Tweetinvi.Models;
namespace APIS
{
public class TwitterConfig
{
IAuthenticationContext authenticationContext;
/// <summary>
/// Le indica a twitter que va a hacer una consulta de crendenciales. Esta consulta va a generar un PIN en caso de que sea correcto
/// y el usuario tiene que digitar el pin.
/// </summary>
public void RequestForCredentials()
{
var appCredentials = new TwitterCredentials("CONSUMER-KEY", "CONSUMER-SECRET"); //GET THE CONSUMER INFORMATION ON THE TWITTER APP MANAGEMENT
authenticationContext = AuthFlow.InitAuthentication(appCredentials);
//This opens a web-browser and asks to the twitter client
//to accept the terms, and twitter gives a code and the user
// have to introduce it on the app (use the AuthByPin(String pin) method )
//Thats the PIN for auth the user and then get the data
Process.Start(authenticationContext.AuthorizationURL);
}
/// <summary>
/// Metodo que solicita un PIN que un usuario de Twitter al aceptar las condiciones se le brindó y este lo introdujo en la app
/// para ser autenticado.
/// </summary>
/// <param name="pin">PIN del usuario</param>
/// <returns>IAuthenticatedUser devuelve el usuario autenticado y con todos los datos.</returns>
public IAuthenticatedUser AuthByPin(String pin)
{
try
{
// Con este código PIN ahora es posible recuperar las credenciales de Twitter
var userCredentials = AuthFlow.CreateCredentialsFromVerifierCode(pin, authenticationContext);
// Use las credenciales del usuario en su aplicación
Auth.SetCredentials(userCredentials);
var user = User.GetAuthenticatedUser();
return user;
}
catch (Exception e)
{
Console.WriteLine(e);
throw new ApplicationException("Problema al autenticar.", e);
}
}
}
}
</code>
Si vous avez des questions, posez-les-moi.
- Réponses précédentes
- Plus de réponses