Search In The Browser
We've developed our own AJAX-based Rhymba Search client as a quick and easy way of accessing the OData search endpoints from the browser, which we'd like to share with you. With your Rhymba Access Token handy, you'll be able to start querying our media catalog in just a few simple steps.
- Second, add the Rhymba Search script at this link to your page. We recommend adding it shortly before your closing </body> tag so that it won't get in the way of your page's content.
In a new <script> tag, use your Access Token to create a Rhymba Search Client, like so:
var myClient = rhymba.search.Client("[YourContentToken]");
This is where you might want to have a look at our OData Search introduction, if you haven't already. If you have, the next part is going to look pretty familiar.
Every Rhymba Search Client has three methods - .media(), .artists(), and .albums() - corresponding to the Rhymba Search endpoints. These methods each return a configurable Search Request object with methods corresponding to the OData Search parameters. You can chain calls to these methods together to configure your search:
var myMediaSearch = myClient.media() .keyword("[String]") .skip([Number]) .top([Number]) .inlineCount("[String]") .filter("[OData Filter String]") .format("[Format String]");
Once you've configured your search, fire it off by calling the search request's .get() method with callbacks for successful and unsuccessful responses:
myMediaSearch.get( [SuccessCallback], [ErrorCallback] );
That's all it takes! The success callback will receive the same results any other call to its Rhymba Search endpoint, letting you quickly get on with the business of displaying those search results to your users.
The Rhymba Search Client
The Rhymba Search Client lets you quickly create new searches targeting each of the Rhymba Content endpoints - media, artists, and albums. Each of its corresponding methods generates a new Search Request object configuring a search for that endpoint.
|media||Creates and returns a new Search Request object for the Media search endpoint.||Search Request||
|artists||Creates and returns a new Search Request object for the Artists search endpoint.||Search Request||
|albums||Creates and returns a new Search Request object for the Albums search endpoint.||Search Request||
Search Requests are handy little objects, each of which encapsulates an individual AJAX request to the Rhymba Search API. Each has methods corresponding to the API fields, which you can use to configure the search that the particular Search Request instance will perform. These configuration methods all return the Search Request object itself, making it easy to quickly configure and perform a search by chaining your method calls together. When you've finished configuring a given search, you execute it by calling the Search Request instance's .get() method with callback function arguments for success and error responses.
|keyword||string||Sets a word or phrase as the keyword for the search.||Search Request||
|filter||string||Sets an OData filter for the search. See here for details on constructing an OData filter string for this method.||Search Request||
|skip||integer||Sets an offset in the number of results to return, measured from the first (likeliest) item in the results. Useful for paging.||Search Request||
|top||integer||Sets the number of search results to return, counting from the value of 'skip'.||Search Request||
|inlineCount||"allpages"||Sets the value of the 'inlineCount' parameter for this search. Currently, the only valid values are "allpages" (inlinecount included) or NULL (inlinecount not included).||Search Request||
|getParameter||string||Gets the current value of a named Search Request configuration parameter.||Search Request||
|get||function(result), function(error)||Executes the Search Request as currently configured. The "get" method takes two callback functions as arguments: the first for successful AJAX responses, and the second for error responses.||XHR||