TweetIds始终为null

时间:2017-07-10 03:18:04

标签: c# twitter linq-to-twitter

我正在使用linq-to-twitter查询尝试获取推文(状态)并回复该状态,但查询始终将ID和TweetIds返回为null。我试图使用statusId,但它是作为推文而不是响应

$machines = Get-Content 
C:\Users\******\Documents\Scripts\Last_Update\Machine_List.txt
$report = @()
$object = @()

    foreach ($machine in $machines ) 
{ 
    $windowsUpdateObject = New-Object -ComObject Microsoft.Update.AutoUpdate
    $windowsUpdateObject.Results
    $report += $results
}

$report | Export-csv 'C:\Reports\Reboot.csv'

任何帮助都会非常感激

2 个答案:

答案 0 :(得分:2)

来自LINQ to Twitter FAQ

4。为什么来自Twitter的ScreenName实体响应中UserID和/或User属性为空?

仅输入ScreenNameUserID属性,您可以查看在查询中提供的参数。

  • 对于v2.1.x,请使用Identifier属性,该属性具有从Twitter返回的ScreenNameUserID
  • 对于v3.0.x及更高版本,请使用ScreenNameResponseUserIDResponse属性。

一些背景:在查询响应中也会查看用作输入参数的任何内容,因此如果用户在查询中省略了参数但Twitter响应包含值,则会从结果中过滤掉它。为了解决这个问题,我采用了一种惯例,其中任何返回参数也匹配输入参数将具有响应'后缀。例如ScreenName(输入)和ScreenNameResponse(输出)。要查找输入的值,每个API调用的文档都包含输入/过滤器参数。

这是一个例子,来自LINQ to Twitter Samples code

    static void PrintTweetsResults(List<Status> tweets)
    {
        if (tweets != null)
            tweets.ForEach(tweet => 
            {
                if (tweet != null && tweet.User != null)
                    Console.WriteLine(
                        "ID: [{0}] Name: {1}\n\tTweet: {2}",
                        tweet.StatusID, tweet.User.ScreenNameResponse, tweet.Text);
            });
    }

答案 1 :(得分:1)

我想我必须在回复之前添加@ {ScreenNameResponse}。我搞定了。感谢您的快速回复。