2017-08-31 6 views
0

私はTwitter APIに大きな問題があります。現在のところ、Twitterは関連する返信とともにツイートを取得することはできません。Twitterの返信との関係

私はタイムラインの言葉を掴み、それらの回答に関連づけたいと思います。

これまではすべて問題ありません。今私の問題。 私は、返信の子供の返信も追加して、その返答と返信との完全な関係を得たいと考えています。

現在、私はタイムラインを取得し、その結果を言及と返信に分割します。

public void fetchTwitterTimeline(long sinceId) { 
try { 
    Paging timelinePaging = new Paging(); 

    if (sinceId > 0) { 
    timelinePaging.setSinceId(sinceId); 
    } 
    LOG.debug("Fetching Twitter Timeline"); 
    ResponseList<Status> statusResponseList = twitterClient.getMentionsTimeline(timelinePaging); 
    assignTwitterStatusResponse(statusResponseList); 
} catch(TwitterException e){ 
    e.getStackTrace(); 
    System.out.println(e); 
    LOG.error("Could not fetch Twitter Timeline: {}", e); 
    } 
} 

private void assignTwitterStatusResponse(ResponseList<Status> statusResponseList) { 
for (Status status : statusResponseList) { 
    if (status.isRetweet()) { 
    continue; 
    } 

    if (status.getInReplyToStatusId() > 0) { 
    replies.add(status); 
    } else { 
    mentions.add(status); 
    } 
} 
} 

答えて

0

ご回答いただきありがとうございます。 私は同じ問題を抱えている人たちにも良い解決策を持っています。

私には2つの方法があります。これは、いくつかのAPI呼び出しを保存する場合に必要になります。 最初の手順では、要求されたIDからmentionsTimelineとhometimelineを取得します。これは自分のつぶやきや返信に必要です。

その後、2番目の方法を再帰として実装しました。私はresponseListを反復処理し、あるステータス(inReplyToStatusId)がparentIdと一致する場合、それらをスレッドに追加します。

0

つぶやきに返信するAPI呼び出しがあります。

それはconversation/show/:IDある - ので、あなたは唯一の問題は、このAPIは、Twitterの公式APIキーに制限されていることであるconversation/show/123

呼びたいすべての返信は、ID 123をツイートして取得します。

+0

私はこのアプリケーションを私のアプリケーションに使用できませんでした。少なくともツイートのすべての返信を受ける別の可能性はありますか?私の目的のために、それぞれの返事の全体的な関係を得ることは不必要です。すべての返信の年表リストを取得すれば十分です。 –

+0

これを検索することができます。たとえば、 "@ fabian"の検索を実行して、あなたに返信したすべての人を取得します。その後、 'reply_id'でフィルターしてください。 –

+0

あなたの助けに感謝します。私はこの問題の良い解決策を投稿しました。おそらく将来的にTwitterはAPIを改善するでしょう。 –

関連する問題