একটি নির্দিষ্ট টুইটের উত্তর, টুইটার এপিআই


86

কোনও টুইটারের উত্তরগুলি পাওয়ার জন্য কি টুইটার এপিআই-তে কোনও উপায় আছে? ধন্যবাদ


উত্তর:


53

আমি যা বুঝি সেগুলি থেকে সরাসরি তা করার কোনও উপায় নেই (অন্তত এখনই নয়)। এমন কিছু লাগবে যা যুক্ত করা উচিত। তারা সম্প্রতি কিছু 'পুনঃটুইট' ক্ষমতা যুক্ত করেছে, এটি যুক্ত করার পক্ষে যুক্তিযুক্ত বলে মনে হয়।

এটি করার একটি সম্ভাব্য উপায় এখানে প্রথম নমুনার টুইটের ডেটা (থেকে status/show):

<status>
  <created_at>Tue Apr 07 22:52:51 +0000 2009</created_at>
  <id>1472669360</id>
  <text>At least I can get your humor through tweets. RT @abdur: I don't mean this in a bad way, but genetically speaking your a cul-de-sac.</text>
  <source><a href="http://www.tweetdeck.com/">TweetDeck</a></source>
  <truncated>false</truncated>
  <in_reply_to_status_id></in_reply_to_status_id>
  <in_reply_to_user_id></in_reply_to_user_id>
  <favorited>false</favorited>
  <in_reply_to_screen_name></in_reply_to_screen_name>
  <user>
    <id>1401881</id>
     ...

থেকে status/showআপনাকে ব্যবহারকারীর আইডি খুঁজে পেতে পারেন। তারপরে statuses/mentions_timelineকোনও ব্যবহারকারীর জন্য স্থিতির তালিকা ফিরিয়ে দেবে। in_reply_to_status_idআসল টুইটের সাথে মিলে যাওয়ার জন্য ফিরে আসা কেবল পার্স করুন id


ব্যবহারকারীর ব্যবহারকারীর টুইটকে উত্তর দিন 2 ইউজার 1 এর টুইটটি থেকে তা বের করার জন্য, আমার ব্যবহারকারীর জন্য উল্লেখগুলি সন্ধান করতে হবে। তবে আমি যখন ব্যবহারকারীরূপে প্রমাণীকরণ করতে পারি না তখন কী হবে? লেখক ছাড়া প্রকাশ্যে অ্যাক্সেসযোগ্য উল্লেখ করা হয় না?
লেট্রনজে

@letronje যে আমি জানি না - আপনি টুইটের মধ্যে '@ ব্যবহারকারী 1' সন্ধানের জন্য অনুসন্ধান API ব্যবহার করতে পারেন, তবে আমি মনে করি না যে এটি ব্যবহারের মতো নির্ভরযোগ্য হবে status/mentions
টিম লিটল

4
মূর্তি দেখে মনে হচ্ছে / উল্লেখ নিন্দা করা হয়েছে, তাই আমি অনুসন্ধান / টুইট কুই = @ screenName পরিবর্তে পার্স চাই: dev.twitter.com/docs/api/1.1/get/search/tweets
Dunc

4
@ ডান্ক দেখে মনে হচ্ছে এটি সবেমাত্র পরিবর্তিত হয়েছেstatus/mentions_timeline
টিম

@ টিম ভাল পয়েন্ট। তবে আমার ব্যবহারের ক্ষেত্রে লেট্রোনজির (যেমন টুইট যে কারওর পক্ষ থেকে হতে পারে) অনুরূপ, সুতরাং এর পরিবর্তে আমার অনুসন্ধান ব্যবহার করা দরকার।
ডানচ

52

এখানে একটি টুইটের উত্তর পাওয়ার পদ্ধতি রয়েছে

  1. আপনি যখন টুইটগুলি সংগ্রহ করেন তখন টুইটগুলি অন্তর্ভুক্ত থাকে id
  2. টুইটার অনুসন্ধান এপিআই ব্যবহার করে নিম্নলিখিত কোয়েরি করুন [q="to:$tweeterusername", sinceId = $tweetId]
  3. সমস্ত ফলাফল লুপ করুন, ফলাফলগুলির সাথে মেলে in_reply_to_status_id_str to $tweetidএমন পোস্টগুলির জবাব।

10

এখানে আমার সমাধান। এটি আব্রাহামের টুইটার ওউথ পিএইচপি লাইব্রেরি ব্যবহার করে: https://github.com/abraham/twitteroauth

এটিতে আপনাকে টুইটার ব্যবহারকারীর স্ক্রিন_নামের বৈশিষ্ট্য পাশাপাশি প্রশ্নে থাকা টুইটের আইডি_স্ট্রিটিউট সম্পর্কে জানতে হবে। এইভাবে, আপনি যেকোন স্বেচ্ছাচারী ব্যবহারকারীর টুইট থেকে একটি স্বতন্ত্র কথোপকথন ফিড পেতে পারেন:

* আপডেট: অবজেক্ট অ্যাক্সেস বনাম অ্যারে অ্যাক্সেস প্রতিফলিত করতে রিফ্রেশ কোড:

function get_conversation($id_str, $screen_name, $return_type = 'json', $count = 100, $result_type = 'mixed', $include_entities = true) {

     $params = array(
          'q' => 'to:' . $screen_name, // no need to urlencode this!
          'count' => $count,
          'result_type' => $result_type,
          'include_entities' => $include_entities,
          'since_id' => $id_str
     );

     $feed = $connection->get('search/tweets', $params);

     $comments = array();

     for ($index = 0; $index < count($feed->statuses); $index++) {
          if ($feed->statuses[$index]->in_reply_to_status_id_str == $id_str) {
               array_push($comments, $feed->statuses[$index]);
          }
     }

     switch ($return_type) {
     case 'array':
          return $comments;
          break;
     case 'json':
     default:
          return json_encode($comments);
          break;
     }

}

4
কেন এটিকে ভোট দেওয়া হয়েছিল? এটি ঠিক যেমনটি বলেছে ঠিক তেমন কাজ করে এবং সমস্যার সঠিকভাবে উত্তর দেয়। তদুপরি, আমার পদ্ধতিটি @vsubbotin থেকে পৃথক হয়েছে যাতে আপনি নিজের পরিবর্তে যে কোনও টুইটের আইডি ব্যবহার করতে পারেন।
লিংকনবেরিইই

4
এটি ভাল, তবে মূল্যবান রেট সীমা (180 প্রতি ওউথ) খেতে পারে। ১৮০ টি টুইট এই পদ্ধতিতে চালানো হয় ... দেখুন!
মাইক বারউইক

8

টুইটারের সম্পর্কিত_আরসাল্টস নামে একটি নিবন্ধিত এপিআই রয়েছে। এটি আপনাকে নির্দিষ্ট টুইট আইডির জবাব দেবে। এটি পরীক্ষামূলক হিসাবে এটি কতটা নির্ভরযোগ্য তা নিশ্চিত নয়, তবে এটি টুইটার ওয়েবে যে একই অ্যাপি কল call

আপনার নিজের ঝুঁকিতে ব্যবহার করুন। :)

https://api.twitter.com/1/related_results/show/172019363942117377.json?include_entities=1

আরও তথ্যের জন্য, এই আলোচনাটি dev.twitter এ দেখুন: https://dev.twitter.com/discussion/293


35
এই এপিআই আর সক্রিয় নয়
ম্যাথিউ

হ্যাঁ. যেমন ম্যাথিউ বলেছেন, এটি আর সক্রিয় নয়। এটিতে 'u'message' বলা হয়েছে: আপনি 'দুঃখিত, সেই পৃষ্ঠাটির অস্তিত্ব নেই', u'code ': 34}
shadab.tughlaq

7

নির্দিষ্ট টুইটের উত্তর আনতে আমি এখানে সাধারণ আর কোডটি ভাগ করছি

userName = "SrBachchan"

##fetch tweets from @userName timeline
tweets = userTimeline(userName,n = 1)

## converting tweets list to DataFrame  
tweets <- twListToDF(tweets)  

## building queryString to fetch retweets 
queryString = paste0("to:",userName)

## retrieving tweet ID for which reply is to be fetched 
Id = tweets[1,"id"]  

## fetching all the reply to userName
rply = searchTwitter(queryString, sinceID = Id) 
rply = twListToDF(rply)

## eliminate all the reply other then reply to required tweet Id  
rply = rply[!rply$replyToSID > Id,]
rply = rply[!rply$replyToSID < Id,]
rply = rply[complete.cases(rply[,"replyToSID"]),]

## now rply DataFrame contains all the required replies.

3

সহজ ব্যবহারিক উপায়ে নয়। এটির জন্য একটি বৈশিষ্ট্য অনুরোধ রয়েছে:

http://code.google.com/p/twitter-api/issues/detail?id=142

তৃতীয় পক্ষের কয়েকটি ওয়েবসাইট রয়েছে যা এপিআই সরবরাহ করে তবে তারা প্রায়শই স্ট্যাটাস মিস করে।


টুইটারের ডেটা পাওয়ার জন্য gnip.com মূলত একমাত্র তৃতীয় পক্ষের স্থান।
আব্রামহাম

3

আমি এটি নিম্নলিখিত উপায়ে প্রয়োগ করেছি:

1) স্ট্যাটাসস / আপডেট রিটার্নের আইডি শেষ স্ট্যাটাসের (যদি অন্তর্ভুক্ত_েনটিটিস সত্য হয়) 2) তারপরে আপনি স্ট্যাটাসগুলি / উল্লেখগুলির জন্য অনুরোধ করতে পারেন এবং ফলাফলটি in_reply_to_status_id এর মাধ্যমে ফিল্টার করতে পারেন। দ্বিতীয়টি ধাপ 1 থেকে নির্দিষ্ট আইডির সমান হওয়া উচিত


2

রাজ্যগুলি যেমন সত্যে এটি দুর্দান্ত কাজ করে। এখানে আমি কী ব্যবহার করেছি রিস্টের এপিআই কোড

ini_set('display_errors', 1);
require_once('TwitterAPIExchange.php');

/** Set access tokens here - see: https://dev.twitter.com/apps/ **/
$settings = array(
    'oauth_access_token' => "xxxx",
    'oauth_access_token_secret' => "xxxx",
    'consumer_key' => "xxxx",
    'consumer_secret' => "xxxx"
);



// Your specific requirements
$url = 'https://api.twitter.com/1.1/search/tweets.json';
$requestMethod = 'GET';
$getfield = '?q=to:screen_name&sinceId=twitter_id';

// Perform the request
$twitter = new TwitterAPIExchange($settings);
$b =  $twitter->setGetfield($getfield)
             ->buildOauth($url, $requestMethod)
             ->performRequest();

$arr = json_decode($b,TRUE);

echo "Replies <pre>";
print_r($arr);
die;

2

আমি কয়েক মাস আগে কর্মক্ষেত্রে একই ইস্যুটি নিয়ে এসেছি, কারণ আমি আগে তাদের related_tweetsরিস্ট ভি 1 তে শেষ পয়েন্টটি ব্যবহার করছিলাম ।

সুতরাং আমাকে একটি কার্যনির্বাহ তৈরি করতে হয়েছিল, যা আমি এখানে নথিভুক্ত করেছি:
http://adriancrepaz.com/twitter_conversations_api আয়না - গিথুব কাঁটাচামচ

এই শ্রেণীর আপনার যা ইচ্ছা ঠিক তা করা উচিত। এটি মোবাইল সাইটের এইচটিএমএল স্ক্র্যাপ করে এবং কথোপকথনকে পার্স করে। আমি এটি কিছুক্ষণ ব্যবহার করেছি এবং এটি খুব নির্ভরযোগ্য বলে মনে হচ্ছে।

কথোপকথনটি আনতে ...

অনুরোধ

<?php

require_once 'acTwitterConversation.php';

$twitter = new acTwitterConversation;
$conversation = $twitter->fetchConversion(324215761998594048);
print_r($conversation);

?>

প্রতিক্রিয়া

Array
(
    [error] => false
    [tweets] => Array
        (
            [0] => Array
                (
                    [id] => 324214451756728320
                    [state] => before
                    [username] => facebook
                    [name] => Facebook
                    [content] => Facebook for iOS v6.0 ? Now with chat heads and stickers in private messages, and a more beautiful News Feed on iPad itunes.apple.com/us/app/faceboo?
                    [date] => 16 Apr
                    [images] => Array
                        (
                            [thumbnail] => https://pbs.twimg.com/profile_images/3513354941/24aaffa670e634a7da9a087bfa83abe6_normal.png
                            [large] => https://pbs.twimg.com/profile_images/3513354941/24aaffa670e634a7da9a087bfa83abe6.png
                        )
                )

            [1] => Array
                (
                    [id] => 324214861728989184
                    [state] => before
                    [username] => michaelschultz
                    [name] => Michael Schultz
                    [content] => @facebook good April Fools joke Facebook?.chat hasn?t changed. No new features.
                    [date] => 16 Apr
                    [images] => Array
                        (
                            [thumbnail] => https://pbs.twimg.com/profile_images/414193649073668096/dbIUerA8_normal.jpeg
                            [large] => https://pbs.twimg.com/profile_images/414193649073668096/dbIUerA8.jpeg
                        )
                )
             ....             
        )
)

2

আপনি একটি টুইটের সমস্ত উত্তর সংগ্রহ করতে পাইথনে টোয়ার্ক প্যাকেজটি ব্যবহার করতে পারেন ।

twarc replies 824077910927691778 > replies.jsonl

এছাড়াও, নীচের কমান্ডটি ব্যবহার করে একটি টুইটের সমস্ত উত্তর চেইন (জবাব প্রত্যুত্তর) সংগ্রহ করা সম্ভব:

twarc replies 824077910927691778 --recursive


জাভাস্ক্রিপ্ট এ করার উপায় আছে?
যশত্রেয়

আমি নিশ্চিত নই, আমি যাচাই করিনি, কিছু পাওয়া গেলে আপনাকে জানাবো।
পুরিয়া বাবভে

1

যেহেতু স্ট্যাটাসস / উল্লেখ_টাইমলাইন 20 অতি সাম্প্রতিক উল্লেখটি ফিরিয়ে দেবে এটি কল করার মতো দক্ষ হবে না, এবং এটির উইন্ডোতে 15 টি অনুরোধের (15 মিনিট) মত সীমাবদ্ধতা রয়েছে যার দ্বারা আমরা ব্যবহারকারী_টাইমলাইন ব্যবহার করতে পারি

সর্বোত্তম উপায়: ১. অবস্থা / শো থেকে স্ক্রিন_নাম বা ইউজার_আইডি পরামিতি পান।
2. এখন ব্যবহার user_timeline
তাহলে GET https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=screen_name&count=count

(স্ক্রিন_নাম == নাম যা আমরা স্থিতি / প্রদর্শন থেকে পেয়েছি)
(গণনা == 1 থেকে সর্বোচ্চ 200 পর্যন্ত)
গণনা: স্বতন্ত্র অনুরোধের জন্য সর্বোচ্চ 200 টি পর্যন্ত চেষ্টা এবং পুনরুদ্ধার করতে টুইটের সংখ্যা নির্দিষ্ট করে।

ফলাফলটি থেকে কেবল পার্স করুন যা মূল টুইটের আইডিটির সাথে মিলে একটি ইন-রিপ্লাই_ টু_স্ট্যাটাস_আইডি খুঁজছেন return

স্পষ্টতই, এটি আদর্শ নয়, তবে এটি কার্যকর হবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.