1

我可以尝试使用Rest Client使用Facebook Graph删除对象。

def delete_object
    temp = url_escape('https://graph.facebook.com/'+request_id+'?access_token='+token)
    p "temp is"
    p temp
    delete_attempt = RestClient.delete temp
end

private

def url_escape(string)
    string.gsub(/([^ a-zA-Z0-9_.-]+)/n) do
        '%' + $1.unpack('H2' * $1.size).join('%').upcase
    end.tr(' ', '+')
end

控制台输出:

temp is
"https%3A%2F%2Fgraph.facebook.com%2Fobject_id_here%3Faccess_token%3Daccess_token_here"

object_id_here&access_token_here在这里用作占位符,值是正确的。

我收到此错误:

undefined method `request_uri' for #<URI::Generic:0x00000104385a40>
/Users/ben/.rvm/gems/ruby-1.9.2-p0/gems/rest-client-1.6.1/lib/restclient/request.rb:60:in `execute'\n/
Users/ben/.rvm/gems/ruby-1.9.2-p0/gems/rest-client-1.6.1/lib/restclient/request.rb:31:in `execute'\n/
Users/ben/.rvm/gems/ruby-1.9.2-p0/gems/rest-client-1.6.1/lib/restclient.rb:80

request.rb中的第 60transmit uri...行是 Rest Client 中此方法中的行:

def execute & block
    uri = parse_url_with_auth(url)
    transmit uri, net_http_request_class(method).new(uri.request_uri, processed_headers), payload, & block
end

是什么导致了这个错误?

4

0 回答 0