[问题] microsoft translator API

楼主: kobfm005 (Billy)   2015-11-20 10:13:45
这是微软的翻译API网址https://goo.gl/eCr0Dp
最近想了解翻译API,微软给的程式码贴上执行却是错的,会跑出
http://i.imgur.com/3gYPEjG.jpg
但我有加入system.dll,也是跑不出来
之后我再把最后一段原始程式码http://i.imgur.com/dB2xHLZ.jpg
改成
private AdmAccessToken HttpPost(string DatamarketAccessUri, string
requestDetails)
{
//Prepare OAuth request
WebRequest webRequest = WebRequest.Create(DatamarketAccessUri);
webRequest.ContentType = "application/x-www-form-urlencoded";
webRequest.Method = "POST";
byte[] bytes = Encoding.ASCII.GetBytes(requestDetails);
webRequest.ContentLength = bytes.Length;
try {
using (Stream outputStream = webRequest.GetRequestStream())
{
outputStream.Write(bytes, 0, bytes.Length);
}
using (WebResponse webResponse = webRequest.GetResponse())
{
DataContractJsonSerializer serializer = new
DataContractJsonSerializer(typeof(AdmAccessToken));
//Get deserialized object from JSON stream
AdmAccessToken token =
(AdmAccessToken)serializer.ReadObject(webResponse.GetResponseStream());
return token;
}
}
catch(Exception ex)
{
Console.WriteLine(ex.ToString());
return null;
}
执行画面为http://i.imgur.com/pcGhbTF.jpg
请问我应该要如何改,脑袋已经打结了,希望大神们可以给我建议,谢谢。
作者: ryan10328 (大鸟)   2015-11-20 12:41:00
你要不要用post man先试试整个request的送出和检视回颔你要不要用post man先试试整个request的送出和检视回应的内容,再用程式来送看看request,建议也了解一下Oauth验证流程,比较好一点。上面多回一次,手机有点怪怪的不好意思。我打开网址一看,他应该是走OAuth的验证流程,因此你会需要申请一组client_id,client_secret等等的资讯来向服务器交换一些资讯,让你有权限能够访问他的API。如果上面这些你已经申请,然后程式里面有塞,就可能是Request内容丢的有问题,或是其他原因,所以上面我有建议你使用PostMan(chrome外挂)来手动先做一次Request,确认你送的内容有得到正确回应,再使用程式来送,才不会抓不到到底问题在哪里。
楼主: kobfm005 (Billy)   2015-11-20 18:44:00
谢谢你,等等我再来试试

Links booklink

Contact Us: admin [ a t ] ucptt.com