Tweetinvi authenticationContext returns 空
Tweetinvi authenticationContext returns null
我正在使用 Tweetinvi 4.0.3 和 .NET 4.7.2。我创建了一个新项目,我只是在测试以尝试让 Twitter 与我的桌面应用程序一起工作。我正在为 Tweetinvi 使用 wiki 中的示例,但它抛出异常:
System.NullReferenceException: 'Object reference not set to an instance of an object.'
因为 authenticationContext
从 AuthFlow.InitAuthentication(appCredentials);
返回 null
这是我的代码:
private void Button1_Click(object sender, EventArgs e)
{
// Create a new set of credentials for the application.
var appCredentials = new TwitterCredentials(ConsumerKey, ConsumerSecret);
// Init the authentication process and store the related `AuthenticationContext`.
var authenticationContext = AuthFlow.InitAuthentication(appCredentials);
// Go to the URL so that Twitter authenticates the user and gives him a PIN code.
Process.Start(authenticationContext.AuthorizationURL);
// Ask the user to enter the pin code given by Twitter
var pinCode = Console.ReadLine();
// With this pin code it is now possible to get the credentials back from Twitter
var userCredentials = AuthFlow.CreateCredentialsFromVerifierCode(pinCode, authenticationContext);
// Use the user credentials in your application
Auth.SetCredentials(userCredentials);
}
知道我需要做什么才能完成这项工作吗?我阅读了有关回调 URL 的内容,但它是桌面应用程序,所以我没有回调 URL?
我花了很多时间才弄清楚这个问题。我猜 Twitter 现在需要 TLS 1.2,如下所述:https://api.twitterstat.us/(向下滚动以在 25/7/2019 更新)。将我的 .NET Framewokr 升级到 4.6(从 4.0)解决了这个问题。
我在其他地方读到你可以使用 System.Net.ServicePointManager.SecurityProtocol |= System.Net.SecurityProtocolType.Tls12;
。 Source
希望这对以后的其他人有所帮助。
我正在使用 Tweetinvi 4.0.3 和 .NET 4.7.2。我创建了一个新项目,我只是在测试以尝试让 Twitter 与我的桌面应用程序一起工作。我正在为 Tweetinvi 使用 wiki 中的示例,但它抛出异常:
System.NullReferenceException: 'Object reference not set to an instance of an object.'
因为 authenticationContext
从 AuthFlow.InitAuthentication(appCredentials);
这是我的代码:
private void Button1_Click(object sender, EventArgs e)
{
// Create a new set of credentials for the application.
var appCredentials = new TwitterCredentials(ConsumerKey, ConsumerSecret);
// Init the authentication process and store the related `AuthenticationContext`.
var authenticationContext = AuthFlow.InitAuthentication(appCredentials);
// Go to the URL so that Twitter authenticates the user and gives him a PIN code.
Process.Start(authenticationContext.AuthorizationURL);
// Ask the user to enter the pin code given by Twitter
var pinCode = Console.ReadLine();
// With this pin code it is now possible to get the credentials back from Twitter
var userCredentials = AuthFlow.CreateCredentialsFromVerifierCode(pinCode, authenticationContext);
// Use the user credentials in your application
Auth.SetCredentials(userCredentials);
}
知道我需要做什么才能完成这项工作吗?我阅读了有关回调 URL 的内容,但它是桌面应用程序,所以我没有回调 URL?
我花了很多时间才弄清楚这个问题。我猜 Twitter 现在需要 TLS 1.2,如下所述:https://api.twitterstat.us/(向下滚动以在 25/7/2019 更新)。将我的 .NET Framewokr 升级到 4.6(从 4.0)解决了这个问题。
我在其他地方读到你可以使用 System.Net.ServicePointManager.SecurityProtocol |= System.Net.SecurityProtocolType.Tls12;
。 Source
希望这对以后的其他人有所帮助。