0

複数のタグを含む投稿を追加するにはどうすればよいですか?

私はこれをやっています。投稿は私のDeliciousコレクションに追加されますが、タグはありません。

「www/delicious」が必要

d_api = WWW :: Delicious.new('username'、'password')

d_api.posts_add(:tags => "tools、ruby、online"、:url =>' http://rubular.com/'、:title =>'Rubular'、:notes=>'Ruby正規表現エディター' )。

私は現在www/Delicious gemを使用していますが、他の提案も受け付けています。

私も試してみます

:tags => ["tools"、 "ruby"、 "online"]

またはイベントはコンストラクターを使用します

tag = WWW :: Delicious :: Tag.new(:name => "tools")

しかし、結果はタグが1つに混合されているのと同じですタグのおいしいスクリーンショット

ありがとう

4

5 に答える 5

1

HTTPartyGemコードを使用したDeliciousAPIに触発されて、このようなクラスを作成します

require 'rubygems'
require 'httparty'

class Delicious
  include HTTParty
  base_uri 'https://api.del.icio.us/v1'

  def initialize(auth)
    @auth = auth
  end

  # query params that filter the posts are:
  #   url      = (required) the url of the item.
  #   description= (required) the description of the item. 
  #   extended     = (optional) notes for the item.
  #   tags         = (optional) tags for the item (comma delimited).
  #   dt       = {CCYY-MM-DDThh:mm:ssZ}(optional) datestamp of the item (format "CCYY-MM-DDThh:mm:ssZ").
  #   replace  = no(optional) don't replace post if given url has already been posted. 
  #   shared   = no(optional) make the item private
  def add(options={}))
    options.merge!({:basic_auth => @auth})
    self.class.get('/posts/add', options)
  end
end

それから私はそれをこのように呼ぶことができます:

delicious = Delicious.new( :username => 'myUsername', :password => 'myPassword' )
puts delicious.add(:query => {:url => 'http://rubular.com/', :description => 'Rubular', :tags => "tools,ruby,online"})
于 2012-01-30T20:23:03.017 に答える
0

WWW :: Delicious :: PostのAPIを見ると、タグはインスタンス属性です。私の推測では、それは配列です。試す:

d_api.posts_add(:tags=>["tools","ruby","online"],:url => 'http://rubular.com/', :title => 'Rubular', :notes=>'a Ruby regular expression editor')

Tagオブジェクトの配列である可能性があるため、別の方法を試してください。

my_tags = ["tools","ruby","online"].map {|t| WWW::Delicious::Tag.new(t)}
d_api.posts_add(:tags => my_tags,:url => 'http://rubular.com/', :title => 'Rubular', :notes=>'a Ruby regular expression editor')
于 2012-01-30T13:49:18.190 に答える
0

不思議なことに、機能するのはこれです:

delicious.posts_add(
  :url   => 'http://www.test2.com',
  :title => 'test',
  :tags => ['test1, test2']
)

単一のエントリがコンマ区切りのタグリストである配列。

于 2012-02-21T14:29:02.287 に答える
0

別の方法として、Temboo SDK(Rubyおよび他のいくつかの言語で提供されます)には、100以上の他のパブリックAPIに加えてDeliciousAPIのメソッドが含まれています。AddBookmarkメソッドは、複数のタグをサポートしています。入力値としてコンマ区切りのリストを指定するだけです。

https://www.temboo.com/library/Library/Delicious/AddBookmark/をご覧ください

(完全開示:私はTembooで働いています)

于 2013-04-16T22:38:51.903 に答える
0

DeliciousoAuthAPIのルビーラッパーであるdeliciousgemを作成しました。ブックマークは簡単に追加できます。

client = Delicious::Client.new do |c|
  c.access_token = 'your-access-token'
end

client.bookmarks.create tags: 'tools,ruby,online',
                        url: 'http://rubular.com/',
                        description: 'Rubular',
                        extended: 'a Ruby regular expression editor'
于 2014-06-20T18:17:23.643 に答える