[英]Translating this to a HTTP POST in C#
我目前正在尝试HTTP请求。 我已经成功地完成了get
请求的工作,并且已经阅读了使用HTTP请求进行后请求的内容。 现在我试图与雅虎API工作,以使用雅虎API它指出在
消息管理API可用于将消息发送到另一个Yahoo!。 信使联系人。 该API非常易于使用,如下所示。 请注意,发送消息的联系人是URI的一部分,使用以下格式:
<server>/v1/message/<network>/<contactID>
POST /v1/message/yahoo/targetYahooId?sid=msgrsessionid
Host: rcore1.messenger.yahooapis.com
Authorization: < Standard OAuth credentials >
Content-Type: application/json;charset=utf-8
Content-Length: 25
{
"message" : "Hey there"
}
现在,我有了一个使用HttpWebRequest对象从get获取的OAuth字符串。 字符串是这样的
oauth_token=A%3Dvh....aRg--&oauth_token_secret=bd46a....c9239&oauth_expires_in=3600&oauth_session_handle=ALtT.....3J1N4Zg--&oauth_authorization_expires_in=784964948&xoauth_yahoo_guid=TUSKED5...NCIA
更新
现在我的问题如下:
1-如果我在C#中使用WebRequest对象,我的URI会是什么样子
2-我知道它需要一个JSON类型的对象。 我什至不知道什么是OAuth参数?
您需要更改的一件事是内容类型:
request.ContentType = "application/json;charset=utf-8";
当然是网址。
您需要更改其中包含网址的行上的网址
您需要更改内容类型行
您需要将有效负载转换为json字符串,然后将其转换为字节数组(示例中为byteArray)
手动组装JSON(“ {foo:'bar'}”等)或使用json.net
并设置内容长度
看起来它期望请求主体为JSON对象。 根据您使用的.NET版本,您可以使用此处显示的Javascript序列化器( https://stackoverflow.com/a/7003815/939080 )或JSON.NET( http://james.newtonking)。 com / projects / json-net.aspx )将表单集合转换为JSON输出。
您在问一个开放式问题,如果您想要一个特定而完整的答案,那将需要人们为您编写一堆代码。 正如其他人指出的那样,您需要解决几个问题:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.