Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows窗体应用程序C#|发送推文_C#_Winforms_.net 4.0_Twitter_Tweetsharp - Fatal编程技术网

Windows窗体应用程序C#|发送推文

Windows窗体应用程序C#|发送推文,c#,winforms,.net-4.0,twitter,tweetsharp,C#,Winforms,.net 4.0,Twitter,Tweetsharp,更新:我仍然没有解决它,我目前的工作是不做桌面客户端。现在我已经切换回网络应用程序,一切都恢复正常。我不知道,我被难住了 我已经能够让我的推特网络应用正常工作,但我最近决定从Windows窗体添加推特功能,但我没有机会发送推特。不会抛出任何错误或任何东西。介意看一下我的代码吗 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Dr

更新:我仍然没有解决它,我目前的工作是不做桌面客户端。现在我已经切换回网络应用程序,一切都恢复正常。我不知道,我被难住了

我已经能够让我的推特网络应用正常工作,但我最近决定从Windows窗体添加推特功能,但我没有机会发送推特。不会抛出任何错误或任何东西。介意看一下我的代码吗

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using TweetSharp;

namespace TwitterAdvirtiser
{
    public partial class Form1 : Form
    {
        private string cKey = "xxx";
        private string cSecret = "xxx";
        private string oToken = "xxx";
        private string aToken = "xxx";



        public Form1()
        {
            InitializeComponent();
            OnStart();
        }

        private void OnStart()
        {
            //Authenticate with Twitter
            TwitterService service = new TwitterService(cKey, cSecret);
            service.AuthenticateWith(oToken, aToken);
            service.SendTweet("testing");
        }
    }
}
看起来我的身份验证很好,我可以在调试模式下查看TwitterUser结构中的所有详细信息,但我的推文从未显示在我的提要上。怎么了


顺便说一下,我正在使用Visual Studio 2010和.NET 4.0。我已验证oToken和aToken字符串是否有我的开发者令牌。

据我所知,您仅使用使用者密钥、使用者密钥、令牌密钥和令牌密钥进行身份验证。您还需要在签名库中包含验证器pin。

我已经有了访问令牌和访问令牌密钥。我不需要验证多个用户,这是一个内部应用程序,只需要开发人员运行它。这不管用吗?我没有使用Tweetsharp构建Twitter,但我使用自己的oauth类构建了自己的工作Twitter应用程序。对于大多数oauth应用程序,我发现一旦拥有了访问令牌和密码,就拥有了发出请求所需的一切。但是对于Twitter来说,出于某种原因,它还需要7位数的验证器pin,用于获取访问令牌和密码。它通常作为“oauth_verifier=xxxxxxx”包含在签名基字符串中。如果我没有弄错,用于发出请求的令牌就是请求令牌(如果我弄错了,请纠正我)。当您发出请求时,您将获得一个访问令牌。通过这种方式,您可以存储访问令牌并重新进行身份验证,而无需重复整个过程。这就是我在这里做的。。。我认为:请参阅完整的oauth流程。您首先请求一个请求令牌和密码。然后使用验证器pin授权令牌和密码。然后将向您提供一个访问令牌和访问密钥,您可以使用该令牌和密钥永久访问Twitter。很好,Twitter为注册应用程序的用户提供了一个预先指定的访问令牌和密钥。这就是我用来进行身份验证的方法,所以我不需要进行任何其他身份验证。奇怪的是,我可以在调试模式下查看AuthenticateWith()方法的执行情况,一切看起来都很好,_user字段会立即用我的所有数据进行更新。因此,似乎身份验证工作正常,但SendTweet()什么也不做,并将TwitterStatus设置为null。这就是让我困惑的地方。