1

OAuth.js ( http://oauth.googlecode.com/svn/code/javascript/ ) を使用して REST API 経由で Bit Bucket から問題のリストを取得しようとしています。私はすべてのリクエストに署名しています

OAuth.completeRequest(message, accessor);

メッセージの場所

message: {
  action: "https://api.bitbucket.org/1.0/repositories/owner/reponame/issues",
  method: "GET",
  parameters: p;
};

pに異なる名前のパラメーターが含まれている場合、すべて問題ありません。

p = [['status','open'],['priority','high']]

ただし、pに同じ名前のパラメーターが含まれている場合

p = [['status','open'],['status','resolved']]

、サーバーは401 UNAUTHORIZEDを応答します。Bitbucket API は、同じパラメーターの複数のインスタンスをサポートしています。

同じパラメーターの複数のインスタンスを照会できます。システムは、同じパラメーターの複数のインスタンスをフィルター クエリ全体の OR として扱います。たとえば、次のフィルターは、タイトルに for という単語が含まれる未解決のバグと解決済みのバグを検索します。

status=open&kind=!bug&status=resolved&title=~for 

OAuth.js ライブラリの署名メソッドのどこかに問題があると思いますが、見つかりません。

4

1 に答える 1

0

これは bitbucket 側のバグでした: https://bitbucket.org/site/master/issue/7009/you-cannot-use-multiple-identical-query

于 2013-09-19T09:57:54.480 に答える