Çözüldü Tweet'ler toplu olarak silinebilir mi?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

MNakruf

Yetkin
Katılım
30 Mart 2024
Mesajlar
663
Makaleler
3
Çözümler
10
Beğeniler
488
Yer
Türkiye
Merhaba, X hesabımda bulunan tweetlerimi toplu bir şekilde, tek seferde silmek istiyorum. Bu mümkün mü?
 
Çözüm
Eve gittiğim zaman önce sizin sohbetinizdeki talimatlara bakarım hocam. Olmadı Recep hocanın gösterdiği rehbere bakarım. Ona göre çözüm olarak işaretlerim. Teşekkür ederim.

ChatGPT'ye bir script yazdırıp sorunumu çözdüm.

Çözüm için öncelikle X Developer Portal üzerinden bir proje oluşturup projeden
-API KEY,
-API SECRET KEY,
-ACCESS TOKEN ve
-ACCESS TOKEN SECRET anahtarlarını aldım.

Ardından X'ten verilerimi talep ettim. Verileri 24 saat içerisinde indirebilirsiniz.

Verilerimi ZIP dosyasında indirdim. Ardından dosyası klasöre çıkartıp içindeki data klasörüne girip oradan da tweets.js dosyasını aldım.

Masaüstünde boş bir klasör açıp içine tweets.js dosyasını atıp, main.py adında da bir Python dosyası oluşturdum. Visual Studio Code ile dosyayı açıp içine bana ChatGPT'nin verdiği kodu yapıştırdım.

Python:
from requests_oauthlib import OAuth1
import json
import time

# Twitter API bilgileri
API_KEY = "BURAYA_API_KEY"
API_SECRET = "BURAYA_API_SECRET"
ACCESS_TOKEN = "BURAYA_ACCESS_TOKEN"
ACCESS_SECRET = "BURAYA_ACCESS_SECRET"

auth = OAuth1(API_KEY, API_SECRET, ACCESS_TOKEN, ACCESS_SECRET)

TWEET_FILE = "tweets.js"

def load_tweet_ids():
    with open(TWEET_FILE, "r", encoding="utf-8") as f:
        content = f.read().strip()

    prefix = "window.YTD.tweets.part0 ="
    if content.startswith(prefix):
        content = content[len(prefix):].strip()

    tweets = json.loads(content)
    tweet_ids = [tweet["tweet"]["id"] for tweet in tweets]
    return tweet_ids

def delete_tweet(tweet_id):
    url = f"https://api.twitter.com/1.1/statuses/destroy/{tweet_id}.json"
    response = requests.post(url, auth=auth)
    if response.status_code == 200:
        print(f"Silindi: {tweet_id}")
    else:
        print(f"Hata ({response.status_code}): {tweet_id} - {response.text}")

def main():
    tweet_ids = load_tweet_ids()
    print(f"{len(tweet_ids)} tweet bulundu. Silme işlemi başlıyor...")
    for tweet_id in tweet_ids:
        delete_tweet(tweet_id)
        time.sleep(1)

if __name__ == "__main__":
    main()

Twitter API bilgileri kısmında X Developer Portal'dan aldığım API anahtarlarını buraya yapıştırıp kodu çalıştırdım. Böylelikle hesabımdaki tüm tweetleri sildi.
Ben bunu kullandım ve yaklaşık 20.000 Tweet sildim, geçmişe bir sünger çektim

 
Bu tarz direkt hesabınızda işlem yapabilen eklentiler/uygulamalar bana hiç bir zaman güvenli gelmemiştir dikkatli olmakta fayda var.
 
Hocam çok güzel bir kaynak teşekkür ederim. Peki bu site de ücretsiz plan var mı? Benim sadece RT'lerle birlikte 2.100 adet gönderim var. Ücret ödemeden kullanabilmek mümkün müdür?
 
Hocam çok güzel bir kaynak teşekkür ederim. Peki bu site de ücretsiz plan var mı? Benim sadece RT'lerle birlikte 2.100 adet gönderim var. Ücret ödemeden kullanabilmek mümkün müdür?
Gördüğüm kadarıyla yok.
 
Eve gittiğim zaman önce sizin sohbetinizdeki talimatlara bakarım hocam. Olmadı Recep hocanın gösterdiği rehbere bakarım. Ona göre çözüm olarak işaretlerim. Teşekkür ederim.

ChatGPT'ye bir script yazdırıp sorunumu çözdüm.

Çözüm için öncelikle X Developer Portal üzerinden bir proje oluşturup projeden
-API KEY,
-API SECRET KEY,
-ACCESS TOKEN ve
-ACCESS TOKEN SECRET anahtarlarını aldım.

Ardından X'ten verilerimi talep ettim. Verileri 24 saat içerisinde indirebilirsiniz.

Verilerimi ZIP dosyasında indirdim. Ardından dosyası klasöre çıkartıp içindeki data klasörüne girip oradan da tweets.js dosyasını aldım.

Masaüstünde boş bir klasör açıp içine tweets.js dosyasını atıp, main.py adında da bir Python dosyası oluşturdum. Visual Studio Code ile dosyayı açıp içine bana ChatGPT'nin verdiği kodu yapıştırdım.

Python:
from requests_oauthlib import OAuth1
import json
import time

# Twitter API bilgileri
API_KEY = "BURAYA_API_KEY"
API_SECRET = "BURAYA_API_SECRET"
ACCESS_TOKEN = "BURAYA_ACCESS_TOKEN"
ACCESS_SECRET = "BURAYA_ACCESS_SECRET"

auth = OAuth1(API_KEY, API_SECRET, ACCESS_TOKEN, ACCESS_SECRET)

TWEET_FILE = "tweets.js"

def load_tweet_ids():
    with open(TWEET_FILE, "r", encoding="utf-8") as f:
        content = f.read().strip()

    prefix = "window.YTD.tweets.part0 ="
    if content.startswith(prefix):
        content = content[len(prefix):].strip()

    tweets = json.loads(content)
    tweet_ids = [tweet["tweet"]["id"] for tweet in tweets]
    return tweet_ids

def delete_tweet(tweet_id):
    url = f"https://api.twitter.com/1.1/statuses/destroy/{tweet_id}.json"
    response = requests.post(url, auth=auth)
    if response.status_code == 200:
        print(f"Silindi: {tweet_id}")
    else:
        print(f"Hata ({response.status_code}): {tweet_id} - {response.text}")

def main():
    tweet_ids = load_tweet_ids()
    print(f"{len(tweet_ids)} tweet bulundu. Silme işlemi başlıyor...")
    for tweet_id in tweet_ids:
        delete_tweet(tweet_id)
        time.sleep(1)

if __name__ == "__main__":
    main()

Twitter API bilgileri kısmında X Developer Portal'dan aldığım API anahtarlarını buraya yapıştırıp kodu çalıştırdım. Böylelikle hesabımdaki tüm tweetleri sildi.
 
Son düzenleme:
Çözüm
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…