2015-01-27 3 views
1

나는linqToTwitter 사용자 ID는 항상 0

로 원래의 트윗에 URL을 구성 할 필요가
http://twitter.com/{twitter-user-id}/status/{tweet-staus-id} 

linq2twitter에 조의 코드는 잘 작동하지만 나는 User.UserID, 사용자 아이디와 자신의 샘플에서 User.ScreenNameResponse를 교체 할 때 항상 0입니다. 디버거에는 tweet.UserID도 0이 표시됩니다. 대부분의 필드가 채워집니다.

내 코드 :

var twitterCtx = new TwitterContext(getAuth()); 

var searchResponse = 
      await 
      (from search in twitterCtx.Search 
      where search.Type == SearchType.Search && 
       search.Query == searchTxt && 
       search.Count == searchCount 
      select search) 
      .SingleOrDefaultAsync(); 

if (searchResponse != null && searchResponse.Statuses != null) 
    searchResponse.Statuses.ForEach(tweet => 
     Console.WriteLine(
      "User: {0}, Tweet: {1}", 
      //tweet.User.ScreenNameResponse, 
      tweet.User.UserID, 
      tweet.Text)); 

버전 : NuGet에서 3.1.1 응용 프로그램 인증을 사용.

어떻게 트위터 URL을 구성 할 수 있도록 UserID를 얻을 수 있습니까?

This SO thread (id_str 사용) 도움이되지 않았습니다.

답변

2

tweet.User.UserIDResponse에 있습니다.

배경 비트 : 입력 매개 변수로 사용되는 모든 것도 쿼리 응답에서 조회되므로 사용자가 쿼리에서 매개 변수를 생략했지만 트위터 응답에 값이 포함되어 있으면 결과에서 필터링되었습니다 . 이 문제를 해결하기 위해 반환 매개 변수와 입력 매개 변수가 일치하는 경우 'Response'접미사를 사용하는 규칙을 채택했습니다. 예 : ScreenName (입력) 및 ScreenNameResponse (출력). 입력되는 값을 찾으려면 각 API (including Search) 호출에 대한 문서에 입력/필터 매개 변수가 포함되어 있어야합니다.