0

ボックス API を統合してファイルとフォルダーを一覧表示しようとしています。ボックスのドキュメントhttp://developers.box.com/oauth/に従っています。これをjqueryスタイルで使用することはできません。

jquery/ajaxの方法を使用してこれを行う方法についてのヒントを教えてください。

すべてのコメントは大歓迎です。

ありがとう、

4

2 に答える 2

3

API を何に統合しようとしていますか? Web ページのクライアント側からリクエストを行うと、一般的なブラウザ (Chrome、Firefox など) のセキュリティ標準である Same origin policy に遭遇ます。

そうは言っても、

  • APIはJSONPまたはCORS(どこかに文書化する必要があります)をサポートする必要があり、リクエストをそれぞれ適応させる必要があります
  • または、JQuery/ajaxではなく、PHP(この例など)またはその他のサーバースクリプトであるサーバー側からのリクエストを起動します
于 2014-07-03T12:58:44.127 に答える
1

Javascript API-Requests の公式ソリューションからhttps://developers.blog.box.com/2011/09/28/using-the-box-api-with-javascript/ :

幸運にも私のような Box 開発者でない限り、box.net 以外のドメイン (またはそのサブドメイン) でアプリをホストすることになります。その結果、Javascript Same Origin Policy により、別のドメイン (このチュートリアルで使用する localhost など) から API への Ajax リクエストを作成できなくなります。

チュートリアルには、次のスニペットがあります。

$.getJSON("http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20xml%20where%20url%20%3D%20'https%3A%2F%2Fwww.box.net%2Fapi%2F1.0%2Frest%3Faction%3Dget_ticket%26api_key%3D" + window.api_key + "'&format=json&diagnostics=true",
    function(response) {
        window.ticket = response.query.results.response.ticket;
        window.location.href = 'https://m.box.net/api/1.0/auth/' + ticket;
});

動作する Javascript API にするのは簡単です。

function box_api_request(url, api_key, callback) {
    $.getJSON("http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20xml%20where%20url%20%3D%20'" + encodeURI(url) + "%26api_key%3D" + api_key + "'&format=json&diagnostics=true", callback);
}

box_api_request('https://www.box.net/api/1.0/rest?action=get_ticket', '1234MY_API_KEY123', function(response) {
    document.write(JSON.stringify(response));
});
于 2014-07-04T07:22:27.507 に答える