def call_method(method,params={},token_required=true)
      @last_timeline = nil
      raise NoTokenException if token_required && (!@token || @token.nil?)
      params = {} if params.nil?
      params[:auth_token] = @token if !@token.nil?

      if (@auto_timeline && !NO_TIMELINE[method])
        response = @http.get(url_for('rtm.timelines.create',{'auth_token' => @token}));
        if response['timeline']
          @last_timeline = response['timeline']
          params[:timeline] = @last_timeline
        else
          raise BadResponseException, "Expected a <timeline></timeline> type response, but got: #{response.body}"
        end
      end

      params_no_symbols = Hash.new
      params.each do |k,v|
        params_no_symbols[k.to_s] = v
      end

      response = @http.get(url_for(method,params_no_symbols))
      verify(response)
      return response['rsp']
    end
def call_method(method,params={},token_required=true)
      @last_timeline = nil
      raise NoTokenException if token_required && (!@token || @token.nil?)
      params = {} if params.nil?
      params[:auth_token] = @token if !@token.nil?

      if (@auto_timeline && !NO_TIMELINE[method])
        response = @http.get(url_for('rtm.timelines.create',{'auth_token' => @token}));
        if response['timeline']
          @last_timeline = response['timeline']
          params[:timeline] = @last_timeline
        else
          raise BadResponseException, "Expected a <timeline></timeline> type response, but got: #{response.body}"
        end
      end

      params_no_symbols = Hash.new
      params.each do |k,v|
        params_no_symbols[k.to_s] = v
      end

      response = @http.get(url_for(method,params_no_symbols))
      verify(response)
      return response['rsp']
    end
Calls the RTM method with the given parameters
 [method] the full RTM method, e.g. rtm.tasks.getList
 [params] the parameters to pass, can be symbols.  api_key, token, and signature not required
 [token_required] if false, this method will not require a token