Twitter Yeni Api

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TheMayk
    TheMayk's avatar
    Kayıt Tarihi: 18/Mart/2013
    Erkek

    Twitter api v1.1 e geçmesiyle tüm uygulama ve siteler gümledi, yeni apiyle güncelleme yapacağım fakat hepsinde api hata veriyor, bilgisi olan var mı ?

    Yeni Api Kullanıcı Bilgileri Alma : https://dev.twitter.com/docs/api/1.1/get/users/show

    Json formatta hata veriyor {"errors":[{"message":"Bad Authentication data","code":215}]}

    Json Format : https://api.twitter.com/1.1/users/show.json?screen_name=rsarver


    Sperm Gibi Adamlar Var İnsan Olma İhtimalleri Milyonda Bir
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    FCN
    FCN's avatar
    Kayıt Tarihi: 28/Eylül/2007
    Erkek

    1.1 ile apide önce authentication sağlamak gerekiyor. application yaratıp onun üzerinden calısıcaksın.şurda bir örneği var sannırım.

    http://www.paulund.co.uk/using-the-new-twitter-api-v1-1

     

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    manglerman
    manglerman's avatar
    Kayıt Tarihi: 30/Aralık/2003
    Erkek

    aouth ile yapman lazım.

     

    allahtan önce halletim işimi :) şimdi rahatım.

     

    hangi programlama dili?

     

    ve hangi apiyi kullanıyorsun search apiyimi ?

     

     


    türk kızlarından sabun yapalım, rus kızları elini yıkasın.:)
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TheMayk
    TheMayk's avatar
    Kayıt Tarihi: 18/Mart/2013
    Erkek

    https://api.twitter.com/1/statuses/user_timeline/user.json

    Php de kullanıcı bilgisi çekmek için kullanıyordum.


    Sperm Gibi Adamlar Var İnsan Olma İhtimalleri Milyonda Bir
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Altair
    Altair's avatar
    Kayıt Tarihi: 31/Aralık/2009
    Erkek

    Dostlar şu twitter api olayının türkçe kaynağı vs yokmudur takip uygulamalarından yapacağımda api ile ilgili hiç bir bilgim yok

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    manglerman
    manglerman's avatar
    Kayıt Tarihi: 30/Aralık/2003
    Erkek

    csharpta twitter search api 1.1 için entegrasyonum tamam ama php ile ilgili hiç bir bilgim yok.

     

    2 ay öncesinden uyarmaya başladı twitter keşke son ana bırakmasaydınız ?

     

    gelen jsonlarda yakında bu apinin kullanımı bitecek yeni api için geçiş sürecini başlatın yazıyordu.

     

    tam 24 saat sürdü pc başından kalkmadan işi bitirmem :)

     

    csharpta lazım olan varsa veririm :)

     


    türk kızlarından sabun yapalım, rus kızları elini yıkasın.:)
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cemnet
    cemnet's avatar
    Kayıt Tarihi: 18/Eylül/2007
    Erkek
    manglerman bunu yazdı

    csharpta twitter search api 1.1 için entegrasyonum tamam ama php ile ilgili hiç bir bilgim yok.

     

    2 ay öncesinden uyarmaya başladı twitter keşke son ana bırakmasaydınız ?

     

    gelen jsonlarda yakında bu apinin kullanımı bitecek yeni api için geçiş sürecini başlatın yazıyordu.

     

    tam 24 saat sürdü pc başından kalkmadan işi bitirmem :)

     

    csharpta lazım olan varsa veririm :)

     

    hocam ne iş görüyordu senin api? login işlemi yapmak istiyorum bende twitter ile. valla paylaş geliştirmeye çalışalım hep beraber:)

  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Asi296
    Asi296's avatar
    Kayıt Tarihi: 14/Aralık/2009
    Erkek

    bende rss ile twettleri yazdırıyordum o da gitmiş neyse araştıralım bakalım

  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    manglerman
    manglerman's avatar
    Kayıt Tarihi: 30/Aralık/2003
    Erkek

    istediğin keywordu twitter içinde arıyor.

    string Keywords="manglerman";
    SearchTwitter(Keywords, out http_reply);
    
    

    buda oauth yapan void

     

            bool SearchTwitter(string keyword, out string result)
            {
                try
                {
                    // oauth application keys
                    var consumerKey = "";
                    var consumerSecret = "";
                    var accessToken = "";
                    var accessTokenSecret = "";
                    var Count = "100";//her sayfada kaç kayıt getircen ? maksimum 100
    
                    // oauth implementation details
                    var oauthSignatureMethod = "HMAC-SHA1";
                    var oauthVersion = "1.0";
                    var resource_url = "https://api.twitter.com/1.1/search/tweets.json";//burası search apinin urlsi
                    var q = keyword;
    
                    var oauth_nonce = Convert.ToBase64String(
                       new ASCIIEncoding().GetBytes(DateTime.Now.Ticks.ToString()));
                    var timeSpan = DateTime.UtcNow
                        - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
                    var oauth_timestamp = Convert.ToInt64(timeSpan.TotalSeconds).ToString();
    
                    var baseFormat = "count={7}&oauth_consumer_key={0}&oauth_nonce={1}&oauth_signature_method={2}" +
                                    "&oauth_timestamp={3}&oauth_token={4}&oauth_version={5}&q={6}&result_type=recent";
                    var baseString = string.Format(baseFormat,
                                                consumerKey,
                                                oauth_nonce,
                                                oauthSignatureMethod,
                                                oauth_timestamp,
                                                accessToken,
                                                oauthVersion,
                                                 Uri.EscapeDataString(q),
                                                 Uri.EscapeDataString(Count)
                                                );
    
                    baseString = string.Concat("GET&", Uri.EscapeDataString(resource_url), "&", Uri.EscapeDataString(baseString));
    
                    var compositeKey = string.Concat(Uri.EscapeDataString(consumerSecret),
                                            "&", Uri.EscapeDataString(accessTokenSecret));
    
                    string oauth_signature;
                    using (HMACSHA1 hasher = new HMACSHA1(ASCIIEncoding.ASCII.GetBytes(compositeKey)))
                    {
                        oauth_signature = Convert.ToBase64String(
                            hasher.ComputeHash(ASCIIEncoding.ASCII.GetBytes(baseString)));
                    }
    
                    // create the request header
                    var headerFormat = "OAuth oauth_nonce=\"{0}\", oauth_signature_method=\"{1}\", " +
                                       "oauth_timestamp=\"{2}\", oauth_consumer_key=\"{3}\", " +
                                       "oauth_token=\"{4}\", oauth_signature=\"{5}\", " +
                                       "oauth_version=\"{6}\"";
    
                    var authHeader = string.Format(headerFormat,
                                            Uri.EscapeDataString(oauth_nonce),
                                            Uri.EscapeDataString(oauthSignatureMethod),
                                            Uri.EscapeDataString(oauth_timestamp),
                                            Uri.EscapeDataString(consumerKey),
                                            Uri.EscapeDataString(accessToken),
                                            Uri.EscapeDataString(oauth_signature),
                                            Uri.EscapeDataString(oauthVersion)
    
                                            );
                    ServicePointManager.Expect100Continue = false;
                    var postBody = string.Format("q={0}&count={1}&result_type=recent", Uri.EscapeDataString(q), Uri.EscapeDataString(Count));
                    resource_url += "?" + postBody;
                    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(resource_url);
                    request.Headers.Add("Authorization", authHeader);
                    request.Method = "GET";
                    request.ContentType = "application/x-www-form-urlencoded";
                    System.Threading.Thread.Sleep(10000);
    
                    if (General.Logging.DbLogIsActive() == "1")//db log aktifmi
                        General.Logging.DoDbLog(resource_url, "2", "", "", "", "");
                    return General.RequestTool.RequestWebPageForTwitter(request, out result);
                }
                catch (Exception ex)
                {
                    RtYaz(ex.Message + ex.InnerException, "1");
                    result = "";
                    return false;
                }
    
            }

     

    ben foreach içinde bir sürü kelime arattığım için her requestten sonra 10 saniye bekletiyorum.

    limitlerle ilgili bilgi edinmek için

    https://dev.twitter.com/docs/rate-limiting/1.1/limits

     

    benim kullandığım search api nin dökümantasyonu şurda :

    https://dev.twitter.com/docs/api/1.1/get/search/tweets

     

    consumer_key filan nedir diye sorarsanız twitterda bi applicaiton oluşturmanız lazım.

    https://dev.twitter.com/ adresine giriş yaptıktan sonra sağ üst köşeden resminize tıklayıp add application demeniz lazım.

    oauth etkinleştirip access token oluşturduktan sonra  ikinci sekmeden " Read, Write and Access direct messages " yi işaretleyip gerekli keyleri alıp verdiğim koda eklediğiniz zaman işlem tamamdır.

     

    ondan sonrasını istediğiniz json pars etme yöntemiyle yaparsınız :)

     

     


    türk kızlarından sabun yapalım, rus kızları elini yıkasın.:)
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cemnet
    cemnet's avatar
    Kayıt Tarihi: 18/Eylül/2007
    Erkek

    @manglerman sağol hocam haftasonu uğraşıcam bi durum olursa pm kutunu doldururum:)

  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TheMayk
    TheMayk's avatar
    Kayıt Tarihi: 18/Mart/2013
    Erkek

    Şu anda  OAuth ile kullanıcı bilgisi alabiliyorum fakat bunu ayırıp bilgileri ayrı ayrı çektiremiyorum, daha önce twitter apinin kendi sitesinden json ile verilen bilgiyi alabiliyordum ayrı ayrı değişkene atayabiliyordum fakat şimdi olmuyor, daha doğrusu json formatı şuan kendi sayfamda çalışıyor, kod ve çıktısı şu şekilde.

    Kullandığım kod :

    <?php
    require_once('twitteroauth.php');
    $app = array(
        'CONSUMER_KEY'       => ( isset($_GET['consumer_key']) && !empty($_GET['consumer_key']) ) ? $_GET['consumer_key'] :'123456654321',
        'CONSUMER_SECRET'    => ( isset($_GET['consumer_secret']) && !empty($_GET['consumer_secret']) ) ? $_GET['consumer_secret'] :'a51f8mkjemkagljjmgka3845mka',
        'OAUTH_TOKEN'        => ( isset($_GET['oauth_token']) && !empty($_GET['oauth_token']) ) ? $_GET['oauth_token'] :'592560555-C603yfPfXRyvIuieaxXyV7mm3rLc69786qSyH8Y3',
        'OAUTH_TOKEN_SECRET' => ( isset($_GET['oauth_token_secret']) && !empty($_GET['oauth_token_secret']) ) ? $_GET['oauth_token_secret'] :'w8AMgUocznKD0DmsVn4SLO530FzZZ5lYZ88zcc6BE'
    );
     
    $parameters = array(
        'screen_name'   => ( isset($_GET['screen_name']) && !empty($_GET['screen_name']) ) ? $_GET['screen_name'] : 'tahribatcom',
        'count'         => ( isset($_GET['count']) && !empty($_GET['count']) ) ? $_GET['count'] : 'TİMELİNE COUNT',
        'page'         => ( isset($_GET['page']) && !empty($_GET['page']) ) ? $_GET['page'] : '5',
        'callback'      => '?'
    );
     
    $connection = new TwitterOAuth($app['CONSUMER_KEY'], $app['CONSUMER_SECRET'], $app['OAUTH_TOKEN'], $app['OAUTH_TOKEN_SECRET']);
    $content    = $connection->get("users/show", $parameters);
     
    $tweet=json_encode($content);
    
    
    echo $tweet;
    
    ?>




    Çıktı Ekranı ise şu şekilde geliyor, yani json formatı :








    Sperm Gibi Adamlar Var İnsan Olma İhtimalleri Milyonda Bir
Toplam Hit: 3626 Toplam Mesaj: 13