2016-03-31 8 views
0

Bir PHP Twitter ile giriş yapıyorum Giriş sistemi & Twitter uygulamamın bir Twitter beyaz listesinin üzerinde olmasını istemiştim, böylece web sitemde Twitter'a kaydolduğunda bir kullanıcıdan e-posta alabiliyorum.Kullanıcıya e-posta atın afer beyaz listesi PHP

Uygulamam başarıyla beyaz listeye alındı, ancak PHP kodunda e-posta alma konusunda herhangi bir eğitim bulamadım.

index.php kodunun bir parçası vardır

: // Değişkenler del usuario

 $tw_name  = $_SESSION['request_vars']['screen_name']; 
     $tw_id   = $_SESSION['request_vars']['user_id']; 
     $oauth_key  = $_SESSION['request_vars']['oauth_token']; 
     $oauth_secret_key = $_SESSION['request_vars']['oauth_token_secret']; 

     $connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $oauth_key, $oauth_secret_key); 
     $my_data = $connection->get('users/show', array('screen_name' => $tw_name, 'user_id'=> $tw_id)); 
     $my_tweets = $connection->get('statuses/user_timeline', array('screen_name' => $screen_name, 'count' => 10));  
     $my_email = $connection->get('account/verify_credentials', array('screen_name' => $tw_name, 'user_id'=> $tw_id,'include_email'=>true)); 

echo '<strong>Name:</strong> '.$my_data->name. 
     '<br><strong>Date: </strong> ' .$my_data->created_at. 
     '<br><strong>Description:</strong> ' .$my_data->description. 
     '<br><strong>Location:</strong> ' .$my_data->location. 
     '</br><strong>Lenguage:</strong> '.$my_data->lang.'<br>'; 
     echo $my_email->email; 

Ben adı, tarih, vb görebilirsiniz ama kullanıcı e-posta ile yardımcı olamaz

+0

Twitter API'sını kontrol ettiniz mi? Kullanıcı e-postasını iade etmediğini tahmin ediyorum. –

cevap

0

$my_email döküm içeriğinin içeriği nedir? Twitter docs bir hata ya da açıklanan davranış, olabilir. Gerçek e-posta olarak ayarlandığında

" Bir dizesi olarak kullanıcı nesneleri iade edilecektir kullanıcı bir e-posta adresi yoksa onların Hesap, veya e-posta adresi doğrulanmadıysa, null döndürür. "

Durum böyle olabilir mi?

$my_email = $connection->get("account/verify_credentials", ['include_entities' => true, 'skip_status' => true, 'include_email' => true]); 

veya basitçe: hayır, bu şekilde yapıyor deneyebilirsek

yerine dizeleri saf boolelerde ile

get("account/verify_credentials", ['include_email' => true]); 

, burada bulunabilir: https://github.com/abraham/twitteroauth/issues/364 ve resmi Dokümantasyonunu okuma: https://dev.twitter.com/rest/reference/get/account/verify_credentials it mantıklı. Bu bazıları yerlerde, (gerektiği olduğunu) çalışmazsa

, sadece kullanın:

$data = $connection->get('account/verify_credentials'); 

(http://code.runnable.com/UnUm0Nx6Lu1MAAAY/how-to-use-twitter-oauth-in-php-web-application-for-twitteroauth)

yardımcı olur Umut!

+0

teşekkürler! Sorun çözüldü –

+0

Hoş Geldiniz! Sorunu çözülmüş olarak işaretleyin (cevabın işaretini kontrol edin) ve yanıt size yardımcı olursa, tekrarlayın;) –