私はrubyとtyphoeus-gemを使ってコンテンツをXWikiページにRESTful APIでアップロードしています。これは完全に機能します。 しかし、タグのアップロードに関しては、私はスペース文字で苦労しています。 カンマ区切りタグを「スペース文字、別のタグを持つ」のようなGUIで追加すると、「スペース文字を含む」と「別のタグ」の2つのタグが表示されます。 これは私の望むものですが、これはAPIでは機能しません。上記の例では、5つのタグがスペースで区切られます。ページへ XWiki-API経由で間隔を空けたタグをアップロード
API Documentation describes how to add a tab
- 。 "application/x-www-form-urlencoded"の場合、フィールド名 "tag"が使用されています。 このフィールドタイプを使用すると、アップロードできるタグは1つだけです。これを繰り返すと、前のタグが上書きされます。 フィールドタイプとして「タグ」を試したところ、複数のタグをアップロードすることができました。しかし、上記のようにスペーシング問題は現れます。
url = mainpage_url + "/tags" tags = "having space characters, another tag" # HTTP PUT request request = Typhoeus::Request.new( url, ssl_verifypeer: false, method: :put, userpwd: "#{username}:#{password}", headers: {'Content-Type'=> "application/x-www-form-urlencoded;charset=UTF-8"}, body: {tags: tags} ) # Handling HTTP errors request.on_complete do |response| if response.success? #$log.info("Tags uploaded.") elsif response.timed_out? $log.error("Time out: Tags not uploaded.") elsif response.code == 0 $log.fatal("Could not get http response while uploading Tags. #{response.return_message}") else $log.fatal("HTTP request failed while uploading Tags. #{response.code.to_s}") end end request.run response = request.response puts response.body
を私はすでに試した:
- は "+"、 "%20" と "\ sの" とタグスペースを交換ここ
は、私が使用しているRubyコードです。
- 使用text/plainで、アプリケーション/メディアタイプ
としてXML Iは、アプリケーション/ xmlのが解決策になることができると思います。私は成功せずに別のXML文字列を試した。多分あなたは私のための手がかりを持っています。
- は "+"、 "%20" と "\ sの" とタグスペースを交換ここ