2016-04-07 8 views
0

Get/search yöntemini kullanarak bulduğunuz bir tweet göndermek için twitter API post yöntemini kullanmaya çalışıyorum. Ancak, aramanın sonucunu aşağıdaki 'st' değişkenine kaydettiğimde, çalışmaz ve her zaman bir hata verir. "St" anlamına Ben istiyorum gibi doğru yeniden hale getirilmediğini - Ben programı çalıştırdığınızda (benim yinelenen tweet'leri tweet izin vermez çünkü)Twitter'da arama API tweet'leri nasıl depolanır ve retweetlenir

var st = "test" //This is where I want to store the tweet found by calling search. 

var params = { 

q: 'hillary_clinton', 
count: 1, 
type: 'recent', 
geocode: " 38.913376,-95.3352939, 3mi" 
exclude_replies: true, 
retweeted: false, 

}; 

T.get('search/tweets', params, gotData); 

function gotData(err, data, response) { 
    var tweets = data.statuses; 
    st = tweets[0].text // store the first search result in 'st' 



} 

var tweet = { 

    status: st 

} 

T.post('statuses/update', tweet, tweeted); 

function tweeted(err, data, response) { 
if (err) { 
    console.log("It did not work") 
    console.log(data) 
    } else { 
console.log("it worked") 
} 

} 

Ancak, hata her zaman ortaya çıkar. Nerede yanlış gidiyorum?

cevap

0

Tweet'leri aradığınızda, ilk 5 sonucu geri istiyorsunuzdur, bu nedenle bu 5 sonucu her zaman alırsınız ve bu tweet dizisindeki ilk tweet'e st ayarını yapmaya devam edebilirsiniz.

Birkaç şey yapabilirsiniz.

Dizinin tamamını st olarak kaydedin ve ardından diğer tweet'leri almak için bu döngüden geçin.

belirtilen kimlik (yani daha yeni olduğunu) daha büyük bir kimlikle 'since_id'

İade sonuçları gibi bir sonraki aramada API parametrelerinin bazı kullanın. API aracılığıyla erişilebilen Tweets sayısının sınırları vardır. Since_id'den beri Tweets limiti ortaya çıktıysa, since_id mevcut en eski ID'ye zorlanacaktır.

Kontrol dışarı API için diğer parametrelerin bazıları Hilary yeni bir şey tweet için

Twitter Search Docs

* elbette, sadece bekleyebilirim, bekleyin çok uzun olmamalıdır

+0

Sadece 1 tweet döndürmek için bile bunu değiştirmeyi denedim, ama yine de st yeniden atama kabul etmeyecek. Aslında birden fazla tweet'e ihtiyacım yok. Sadece 'st' deki arama yönteminde bulunan bir tweet'i saklamak ve sonra post yöntemini kullanarak tweet atmak istiyorum. –

+0

tweets dizisini kaydedebilir ve diğer tweet'leri görebilir misiniz? tweets’e [1] girerseniz ne olur? farklı mı? – JordanHendrix

+0

Sadece kontrol ettim ve şimdi st = tweet [0] .text öğesini başarılı bir şekilde atamadım, ancak "post" işlevi çağrıldığında ve bir parametre olarak st iletildiğinde hala bir hata alıyorum. Durumun yinelenen bir durum olduğunu ve bunun hala "test" tweet attığımı düşündüğü anlamına geldiğini söylüyorum. Her zaman aynı metin –