将Twitterizer与C#桌面应用程序一起使用 “请求名称不存在.".
本文关键字:请求 不存在 quot Twitterizer 桌面 应用程序 一起 | 更新日期: 2023-09-27 18:34:48
我正在尝试向桌面应用程序添加一个按钮,该按钮会将图片发布到Twitter。 我在网上找到了一些使用 ASP.net 的示例代码,但似乎当我尝试在 C# 桌面应用程序中使用它时,我收到请求和响应名称的错误。 有谁知道为什么请求和响应名称在 ASP 中不会导致任何问题,但在 C# 中会导致任何问题。 我需要创建一个 httpRequest/Response 吗?
这是我的代码。 感谢您提供的任何帮助!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Twitterizer;
using System.IO;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI;
namespace TwitterTestApp
{
class Twitter
{
public Twitter()
{
}
public void PostPicture()
{
string oauth_consumer_key = "123456789";
string oauth_consumer_secret = "abdefg123456";
if (Request["oauth_token"] == null)
{
OAuthTokenResponse reqToken = OAuthUtility.GetRequestToken(oauth_consumer_key, oauth_consumer_secret, Request.Url.AbsoluteUri);
Response.Redirect(string.Format("http://twitter.com/oauth/authorize?oauth_token={0}", reqToken.Token));
}
else
{
string requestToken = Request["oauth_token"].ToString();
string pin = Request["oauth_verifier"].ToString();
var tokens = OAuthUtility.GetAccessToken(oauth_consumer_key, oauth_consumer_secret, requestToken, pin);
OAuthTokens accesstoken = new OAuthTokens()
{
AccessToken = tokens.Token,
AccessTokenSecret = tokens.TokenSecret,
ConsumerKey = oauth_consumer_key,
ConsumerSecret = oauth_consumer_secret
};
byte[] photo = File.ReadAllBytes(@"C:'img.jpg");
TwitterResponse<TwitterStatus> response = TwitterStatus.UpdateWithMedia(accesstoken, "img", photo);
if (response.Result == RequestResult.Success)
{
Response.Write("This is YOUR PAGE");
}
else
{
Response.Write("Try some other time");
}
}
}
}
}
Request
和Response
都应该是变量。当您复制此代码时,您可能尚未全部获得。这两个变量都应该有定义,但没有,所以 VS 显示一个错误,指出它们不存在。
此代码在纯 C# 中无法开箱即用,因为 Request
和 Response
都是 ASP.NET 中的变量。请求是客户端发送到 Web 服务器的内容,响应是它发回的内容。
编辑:在多看了一下你的代码后,这根本不起作用。这被设计为 ASP.NET 应用程序中的页面。您的桌面应用程序不是服务器,没有理由尝试发送"响应"。
查看WebRequest
,您可以使用它向 Twitter API 发送 POST 请求。