Soru Twitter oauth API'sinden e-posta kimliği alabilir miyiz?


Twitter uygulamamı kabul eden kullanıcının e-posta kimliği nasıl alınır?

Çok fazla forumdan geçtim. Ama bahsettiler, bu mümkün değil. Ayrıca bu mesajlar bir yıldan eskidir. PHP kullanarak twitter API üzerinden kullanıcı e-postası almanın mümkün olup olmadığını öğrenebilir miyim?

Aşağıdaki URL'yi kullanarak Twitter kullanıcı bilgilerini alıyorum:

https://api.twitter.com/1.1/account/verify_credentials.json


44
2018-03-25 06:37


Menşei


Burada satıcılar tarafından belirtilen problem için de bir çözüm bulacağım. (yani) durumun nasıl ele alınacağı .. - Vinoth Babu
Twitter dokümanlarında bulamıyorum! Twitter topluluk forumlarından yalnızca yanıtlar bulundu: twittercommunity.com/t/... - jonprasetyo
@PaulDessert bu belirli satıcı personelinin bir üyesi kamuya açıkladı forum belgelemeden işlevselliğe sahip olduklarını. Öyleyse, birisinin (örneğin, işlevsellik geliştiricileri gibi), API belgelerinde hiç görünmese de özelliği nasıl kullanacağını bilmesi beklenir. Aynı insanlar, başka bir yerde bulamadığı Vinoth yardımları gibi birini sunabilirler. - jeteon
Oluşturduğum bu repo 7 Ocak 2017 itibariyle kullanıcılara e-posta adreslerini nasıl çıkaracağınızı gösteriyor. github.com/DZuz14/CompleteSignInWithTwitterPHP - Dan Zuzevich


Cevaplar:


Bu, istek için bir form doldurmakla mümkün yükseltilmiş izinler:

  1. Git https://support.twitter.com/forms/platform
  2. "Özel izinlere erişmem gerekiyor" u seçin
  3. Uygulama Adını ve Kimliğini Girin. Bunlar yoluyla elde edilebilir https://apps.twitter.com/ - Uygulama kimliğini, uygulamanızı tıkladıktan sonra tarayıcı adres çubuğundaki sayısal bölümdür.
  4. İzinler İsteği: "E-posta adresi"
  5. Gönder ve yanıt bekle
  6. İsteğiniz kabul edildikten sonra, twitter uygulamanızın "İzin" bölümüne bir ekleme izni ayarı eklenir. "Ek İzinler" e gidin ve "Kullanıcılardan e-posta adresleri isteyin" onay kutusunu işaretleyin.

Kullanıcı e-posta adresinin doğrulanması gerektiğini unutmayın, aksi halde Twitter bunu sağlamayı reddeder. (Görmek include_email içinde parametre açıklaması yükseltilmiş izinler doc sayfası.)


90
2017-09-29 19:36



Bunu daha önce hiç bilmiyordum, çok teşekkürler! - Terry Kernan
Bu izni gerçekten veriyorlar mı? Yoksa zaten başarılı uygulamalar için ayrılmış mı? - anges244
@ anges244 En azından bir şikayeti olmayan bir geliştiriciye kolay bir şekilde izin veriyor gibi görünüyorlar. Uygulamam henüz çevrimiçi bile erişilebilir değil, bu yüzden ona bakamayacaklar. - tremby
@aleemb, izin aldıktan sonra e-posta adresini nasıl alırsınız? Test kullanıcımı bu ek izinle yetkilendirdim, ancak yine de e-posta adresini hiçbir zaman göremiyorum. users/show tepki. İsteğe eklenecek bir şey var mı? - tremby
FYI, Twitter Geliştirici Forumlarındaki cevabımı buldum (twittercommunity.com/t/...). PHP kaynağında parametre listesini dizin olarak belirtmiştim ('include_email' => true), bu da url'deki include_email = 1 olur. Kaynağı diziye değiştirdim ('include_email' => 'true') ve çalışmaya başladı. Ne kadar başarılı bir API! Bu URL'ye önceki boolean parametresinin değeri, skip_status, "Doğru olarak ayarlandığında, t veya 1 durumları ..." olarak gösterilmez. Ancak include_email "Gerçek eposta olarak ayarlandığında geri dönecektir" diyor. - sootsnoot


Artık kullanıcı e-posta adresini twitter API'den alabilir ve çok daha kolay. Sadece şu adımları izleyin ...

  1. Goto Twitter Uygulamaları

  2. 'Yeni Uygulama Oluştur'a tıklayın

  3. Gerekli tüm bilgileri doldurun ve 'Twitter uygulamanızı oluşturun' seçeneğini tıklayın.

  4. Şimdi 'İzinler' sekmesini tıklayın -> 'Kullanıcıların e-posta adreslerini isteme' alanını kontrol edin ve 'Ayarları Güncelle'yi tıklayın. (verilen resmi kontrol edin)

  5. Şimdi PHP kodunuzda, tüm uygulama ayrıntılarını ayarlayın ve bu kodu ekleyin!

    $params = array('include_email' => 'true', 'include_entities' => 'false', 'skip_status' => 'true');

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

    // getting twitter user profile details $twt_id = $data->id; //twitter user id $twt_email = $data->email; //twitter user email

Hepsi tamam. Umarım yardımcı olur, iyi şanslar. ;)

enter image description here


28
2017-11-17 08:18



Yaklaşık 2 saat aradıktan sonra çözüm bu oldu. Bu yoğun bir şekilde reddedilmelidir. Bunu yazmamdan itibaren 1/7/2017 Ocak'tır. Url'yi yapılandırmanın diğer hiçbir yolu, internette bulduğum her yerde işe yaramadı. - Dan Zuzevich
Aynısını yaptıktan sonra. hala e-posta adresi almıyor. - Dhirender
Aynı, e-posta alma .. - muaaz
Çalışma. Teşekkürler - RajivRisi
Benim için de çalışmıyor. başka yollar? Geliştirme aşamasında e-posta adresi isteyebilir miyim? - shrawan_lakhe


Artık bir kullanıcının e-posta adresini Twitter'dan almak mümkün (eğer kullanıcı izin veriyorsa).

Uygulamanızın xAuth değerini alacak listelenmesi için başvuruda bulunmanız gerekir.

Daha fazla bilgi için buraya bakın: https://dev.twitter.com/rest/reference/get/account/verify_credentials


6
2017-08-13 15:33



"XAuth web tabanlı uygulamalar için uygun değildir" ifadesini kullanmalısınız. Bu yüzden cevabınız op'un problemi için geçerli değildir. - TNT


Kullanıcının e-posta adresini Twitter'dan almak mümkün değildir. Onu görebilirsiniz İşte. Geri arama sayfanızda bir form sayfası açabilir ve o sayfada kullanıcının e-posta adresini alabilirsiniz. Referans edebilirsiniz İşte örneğin kullanım


4
2018-03-25 06:40



Hüseyin BABAL: Cevabınız için teşekkürler. Bunu temin edebileceğim dev.twitter.com bağlantısından haberdar olabilir miyim. Böylece müşteriye gösterebilir ve bir kafaya gidebilirim. - Vinoth Babu
Twitter SSS bağlantısı bozuk :( - Asaph
Bu değişmek üzere olabilir gibi görünüyor twittercommunity tartışması. Neredeyse uygulanmış ama henüz resmi olarak belgelenmiş değil. - jeteon
Bunun değişmek üzere olduğunu düşünüyorum: twittercommunity.com/t/.... - jeteon
Bunu kontrol et: dev.twitter.com/twitter-kit/android/request-email - Shishir Shetty


Bunu linqtoTwitter kütüphanesini kullanarak ASP.Net'te nasıl yaptım http://www.bigbrainintelligence.com/Post/get-users-email-address-from-twitter-oauth-ap

// call verify credentials api
var twitterCtx = new TwitterContext(authTwitter);
var verifyResponse =
      await
          (from acct in twitterCtx.Account
           where (acct.Type == AccountType.VerifyCredentials) && (acct.IncludeEmail == true)
           select acct)
          .SingleOrDefaultAsync();

if (verifyResponse != null && verifyResponse.User != null)
{
    User twitterUser = verifyResponse.User;
    //assign email to existing authentication object
    loginInfo.Email = twitterUser.Email;

}

1
2018-05-19 14:24



Kullandığınız kimlik bilgileri hangisiydi? Kod örneklerini denedim, ancak sadece "giriş" kullanıcı hesabı bilgisini geri aldım - giriş yapmış olan kullanıcının kullanıcı bilgisi değil. - Tim Wheeler


Evet, e-posta adresi alabilirsiniz. Bu, bazı izinleri doldurarak mümkün.

1.Bu Linke gidin: https://apps.twitter.com/

2. Oluşturduğunuz Uygulama içindeki izin sekmesine gidin

3. Uygulamanızda Ekleme izni onay kutusunu işaretleyin.

4.Aşağıdaki ayarları başarıyla tamamladıktan sonra Twitter'dan e-posta adresinizi alabilirsiniz.

Bazı durumlarda e-posta adresi alamıyorsanız lütfen Oauth Api isteği URL'nizi kontrol edin.

İsteğiniz URL bu türde olmalıdır:https://api.twitter.com/1.1/account/verify_credentials.json?include_email=true


0
2017-11-20 18:22