我正在使用Campfire聊天功能整理应用程序。大多数东西都在运作,比如列出房间并加入它们。我遇到的问题是将我们聊天室的live.json流式传输到多行文本框。
我所做的每一次尝试都会返回401 Unauthorized错误。如果我使用curl确认它有效并且我的令牌有效(curl -u [API TOKEN HERE]:X -v -N https://streaming.campfirenow.com/room/[ROOM NUMBER HERE] /live.json)那么它工作正常并开始流式传输从房间到控制台的任何东西。我甚至尝试以不同的方法首先加入房间并收到200 OK响应而没有任何问题,但即使在调用该方法之后,stream方法也会返回401 Unauthorized。
到目前为止,这是我的代码:
private void streamRoom()
{
try
{
WebRequest request = WebRequest.Create("https://streaming.campfirenow.com/room/[ROOM_NUMBER]/live.json");
request.Credentials = new NetworkCredential(myToken,"X");
request.Method = "GET";
//request.ContentType = "application/json";
string serverReply = string.Empty;
using (WebResponse response = request.GetResponse())
{
using (Stream stream = response.GetResponseStream())
{
StreamReader sr = new StreamReader(response.GetResponseStream());
serverReply = sr.ReadToEnd();
sr.Close();
response.GetResponseStream().Close();
convoBox.Text += ((HttpWebResponse)response).StatusDescription.ToString();
}
}
convoBox.Text += serverReply.ToString();
convoBox.Text += responseString;
}
catch (WebException wEx)
{
Console.WriteLine(wEx.Message.ToString());
}
catch (Exception ex)
{
Console.WriteLine(ex.Message.ToString());
}
}
现在,如果我的代码不明显,我不是一个专家。我确定我做错了什么,因为卷曲没有问题。我确定这种方法存在其他问题,但我仍然遇到了auth问题,因此我没有机会调试其他任何问题。那些你真正的专家来帮助我用一些知识来鼓励我,所以我希望能超越这个。
感谢您的时间!