Ottene username account Twitter

DNAvirusG

Nuovo Utente
26 Mag 2011
7
0
0
Ottenere username account Twitter

Ho un piccolo problema per quanto riguarda le API di Twitter. Vorrei ottenere in una variabile l'username dell'account Twitter degli utenti che collegano il loro account con il mio sito http://ow.ly/5aLgm

Se provate ad entrare con l'account demo e connettere il vostro account Twitter con il sito vi uscirà il messaggio di conferma però senza visualizzare il nome dell'account collegato. Il problema è che se un utente ha più di un account Twitter non potendo leggere l'username non potrà ricordare quale account ha collegato al mio sito.

Per un esempio pratico ecco i dati di accesso all'account demo:
user: demo
pass: demo

Poi basterà andare alla pagina seguente http://ow.ly/5aLvi e premere il tasto Connect To Twitter.com

Ecco la funzioni php che si occupa della connessione dell'account Twitter:

PHP:
function getTwitterAuthLink() {
    $url = null;

    $connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET);
    //$request_token = $connection->getRequestToken(OAUTH_CALLBACK);
    $request_token = $connection->getRequestToken();

    $_SESSION['oauth_token']        = $request_token['oauth_token'];
    $_SESSION['oauth_token_secret'] = $request_token['oauth_token_secret'];

    switch ($connection->http_code) {
      case 200:
        $url = $connection->getAuthorizeURL($request_token['oauth_token']);
        break;
    }

    return $url;
  }

Ed ecco invece la funzione che ho scritto per ottenere l'username Twitter dell'utente:

PHP:
function getTwitterUser() {
    $user = null;
	
	$connection = new TwitterOAuth('CONSUMER_KEY', 'CONSUMER_SECRET', $_SESSION['oauth_token'], $_SESSION['oauth_token_secret']);
	$request_token = $connection->getAccessToken($_GET['oauth_verifier']);
	
    $_SESSION['request_token'] = $request_token;
	
	$user_info = $connection->get('account/verify_credentials');
	$user = ($user_info->screen_name);
	
	return $user;
	
	}

Ecco infine il codice della pagina profile_twitter.php che dovrebbe mostrare il messaggio con l'username dell'utente:

PHP:
<div class="container">  
		<hr class="space"> 
 
		<div class="span-14 last"> 
			<div style="float:right;font-size:125%;"><img style="float:left;" src="http://forum.mrwebmaster.it/images/user.png" />&nbsp;<a href="http://tweetfeed.com/<?=$PROFILE['username']?>">View my profile</a></div>
            <h1>Profile: Twitter</h1>
            <?php $current_edit="twitter"; require_once("inc/edit_profile_nav.php"); ?>
<?php if(! isTwitterAuth()): ?>
  <?php $url = getTwitterAuthLink(); ?>
  <?php if($url): ?>
  				<label>&nbsp;</label>
          <input type="button" value="Connect To Twitter.com" onclick="window.location = '<?php echo $url; ?>';" />
  <?php else: ?>
          <b>Sorry, we could connect to Twitter.com. Please try again later.</b>
  <?php endif; ?>
<?php else: ?>
<?php $user = getTwitterUser(); ?>
        <label>&nbsp;</label>
        Your account <?php echo $user; ?> is already connected to Twitter.
<?php endif; ?>
		</div> 
		
		<hr> 
		<hr> 

	</div>

Grazie in anticipo a tutti!
 
Ultima modifica:
L'informazione relativa all'username dovrebbe essere ricavabile da users/lookup tramite id

PHP:
$connection->get('users/lookup', array('user_id' => 'id_user'))

dove "id_user" è l'id dell'utente corrente
 
Ciao Eliox, grazie per la risposta.
Potresti gentilmente farmi qualche esempio all'interno del mio codice?
 
L'id utente del mio sito o Twitter? Nel primo caso si, io vorrei ad ogni modo ricavare il nome utente Twitter che ha l'utente che vuole connettere i due account cosi da stampare un messaggio del genere:

Il tuo account Twitter (username_di_twitter) è adesso connesso con (il_mio_sito)
 

Discussioni simili