0

これはおそらくばかげた質問ですが、私は Web プログラミングの初心者です。クライアント側の JavaScript と CORS を使用して Google ドライブと通信しようとしています。私は最初に jsclient ライブラリを使用しましたが、うまくいきました:

request = gapi.client.drive.files.list( {'q': " trashed = false " } );

CORS を使用すると、私のコードは次のようになります。

var xhr = new XMLHttpRequest();
xhr.open('GET','https://www.googleapis.com/drive/v2/files');

var mysearch = encodeURIComponent("q=trashed=false");

xhr.open('GET',"https://www.googleapis.com/drive/v2/files?" +mysearch,true);
xhr.setRequestHeader('Authorization', 'Bearer ' + accessToken);
xhr.onload = function() { handleResponse(xhr.responseText); };
xhr.onerror = function() { handleResponse(null); };
xhr.send();

私が試してみました:

var mysearch = encodeURIComponent("q=trashed=false");
var mysearch = encodeURIComponent("trashed=false");
var mysearch = encodeURIComponent("q='trashed=false'");

それらはすべて、すべてのファイルのリストを返します。検索文字列がない場合は、すべてのファイルも取得します。

& を使用して他の検索パラメーターも使用したいのですが、1 つだけを機能させることはできません。mysearch 文字列をフォーマットするにはどうすればよいですか?

4

1 に答える 1

0

パラメータの値の部分のみをエンコードします。

var url = 'https://www.googleapis.com/drive/v2/files?q=' + encodeURIComponent("'trashed=false'")
于 2013-10-21T08:53:43.260 に答える