0
Thumbsup

いい質問だ

0

Thumbsdown

うーん

appcelerator studioでマイクロソフト翻訳APIについて 

kazurock
kazurock 0

投稿日:2016-02-12 17:25:18

現在マイクロソフト社の無料APIであるMicrosoft Translatorをappcelerator studioで利用しようとしています。
ここがソースです。
https://msdn.microsoft.com/ja-jp/library/ff512393.aspx

Ti.Network.createHTTPClientのpost送信でacccestokenを取得するところまでは問題なくできるのですが、そこから翻訳する為にaccestokenを使ってhttpclientのGETで必要なパラメータを送信してもThe incoming token does not have 'nameIdentifier'とエラーが返ってきます。

サンプルコードをよく読み込んでいるつもりですが、どうしてもうまくいきません。
アクセストークンはうまく取得できていますのでこのアクセストークンを取得したあとにaccesstokenにJSONparseしたアクセストークンを入れ込んだあとのソースを書いています。

どこかおかしいでしょうか?

また成功しているかたおられませんでしょうか?
よろしくお願いいたします。

var accesstoken = jsondata.access_token;
    Ti.API.info(accesstoken);
    accesstoken = encodeURIComponent(accesstoken);
    Ti.API.info(accesstoken);

var url2 ="http://api.microsofttranslator.com/V2/Ajax.svc/AddTranslation?appid=Bearer"+accesstoken+"&originalText="+originalText+"&translatedText="+translatedText+"&from=es&to=en&user="+id;
    //appid=Bearer'+accesstoken+'&originalText='+originalText+'&translatedText='+translatedText+'&from=es&to=en&user='+id

    var client2 = Ti.Network.createHTTPClient({

        onload : function(e){
            Ti.API.info("結果: " + this.responseText);

    },
    onerror :function(e){
    Ti.API.debug(e.error);
    },
    timeout : 5000
    });


    client2.open("POST",url2);
    Ti.API.info(8);
    client2.send();
    Ti.API.info(9);
}



回答

kazurock
kazurock
0

Thumbsup

いい回答

1

Thumbsdown

うーん



自己解決いたしました。
そもそものAPIのメソッドを違う説明文を読んでおりました。
誠に申し訳ありませんでした。


umi_uyura
umi_uyura
140
Tcad_icon

Thumbsup

いい回答

1

Thumbsdown

うーん



投稿されたコードを見ただけなので、実際はあっているかもしれませんが…
ドキュメントによると appid は "Bearer" とアクセストークンの間にスペースが必要なようですが、これは入っていますか?

Required. A string containing "Bearer" + " " + access token.


umi_uyura様 ありがとうございます。 すいません、投稿のソースですが間違いだらけでした。間違いですが、おっしゃられたとおり "Bearer" + " "のスペースとclient2.open("POST",url2);のPOSTをGETに書き直して再度チャレンジしましたが、同様にできませんでした・・・。 access_tokenは取得できているので翻訳する時に原因がありそうです。 ちなみにですがパラメータのuserというの項目があるのですが何を入れればいいのかよくわかりません。 どなたかGETできた方おられませんでしょうか? --- kazurock

ログインすると回答することができます。