<docbook><section><title>VirtOAuthTestToolExampleAddressbook</title><title>Addressbook OAuth REST API Example performed with the Virtuoso OAuth Testing Tool</title>Addressbook OAuth REST API Example performed with the Virtuoso OAuth Testing Tool
<para>The following example demonstrates creating and getting contact info by the ODS REST APIs <emphasis>addressbook.new</emphasis> and <emphasis>addressbook.get</emphasis> using the OAuth Test Tool.
 Full list of the ODS REST APIs for ODS Addressbook you can find <ulink url="VirtuosoOdsControllersAddressbook">here</ulink>.</para>
<orderedlist spacing="compact"><listitem>Go to <ulink url="http://demo.openlinksw.com/ods">http://demo.openlinksw.com/ods</ulink> </listitem>
<listitem>Log in as user demo with password demo </listitem>
<listitem>Go to Settings-&gt;OAuth Keys <itemizedlist mark="bullet" spacing="compact"><listitem><figure><graphic fileref="VirtOAuthTestToolExampleAddressbook/o1.png" /></figure> </listitem>
</itemizedlist></listitem>
<listitem>Copy the Token value for an Addressbook instance or create such in not existing.
 For ex.: e0a49e54603740f67f8b8f3f58651ad772dc9b44 </listitem>
<listitem>Go to <ulink url="http://demo.openlinksw.com/ods/oauth_test.vsp">http://demo.openlinksw.com/ods/oauth_test.vsp</ulink> </listitem>
<listitem>In the shown form enter for: <orderedlist spacing="compact"><listitem> <emphasis>Server</emphasis>: <ulink url="http://demo.openlinksw.com/ods/api">http://demo.openlinksw.com/ods/api</ulink> </listitem>
<listitem> <emphasis>Consumer Key</emphasis>: e0a49e54603740f67f8b8f3f58651ad772dc9b44 </listitem>
<listitem> <emphasis>API method</emphasis>: addressbook.new </listitem>
<listitem> <emphasis>API parameters</emphasis>: <programlisting>inst_id=36&amp;name=TEST
</programlisting><itemizedlist mark="bullet" spacing="compact"><listitem>An easy way to get the instance id is using the <ulink url="VirtuosoOdsControllers">ODS Framework Controller</ulink>  <emphasis>instance.get.id</emphasis>: <programlisting>$ curl -i &quot;http://demo.openlinksw.com/ods/api/instance.get.id?user_name=demo&amp;password_hash=4627dhe23cb53f522eag32e09gs7fceaw2c523449bdfdf&amp;instanceName=demo&#39;s%20AddressBook&quot;
HTTP/1.1 200 OK
Server: Virtuoso/06.03.3131 (Linux) x86_64-generic-linux-glibc25-64  VDB
Connection: Keep-Alive
Date: Sun, 05 Feb 2012 21:01:20 GMT
Accept-Ranges: bytes
Content-Type: text/xml; charset=&quot;UTF-8&quot;
Content-Length: 58

&lt;result&gt;
  &lt;code&gt;36&lt;/code&gt;
  &lt;message&gt;Success&lt;/message&gt;
&lt;/result&gt;
</programlisting></listitem>
<listitem>You can also get the instance id using the <ulink url="VirtuosoOdsUbiquity">ODS Ubiquity commands</ulink> sequence: <programlisting>ods-host http://demo.openlinksw.com/ods
ods-set-mode sid
ods-authenticate-user demo password demo
ods-get-instance-id demo&#39;s AddressBook
</programlisting></listitem>
</itemizedlist></listitem>
<listitem>Select for <emphasis>Query options</emphasis>: &quot;Generate URI and Submit&quot;.
</listitem>
</orderedlist><itemizedlist mark="bullet" spacing="compact"><listitem><figure><graphic fileref="VirtOAuthTestToolExampleAddressbook/oa1.png" /></figure> </listitem>
</itemizedlist></listitem>
<listitem>Click the &quot;Execute&quot; button.
</listitem>
<listitem>In the shown authorization form click the &quot;Authorize&quot; button.
<itemizedlist mark="bullet" spacing="compact"><listitem><figure><graphic fileref="VirtOAuthTestToolExampleAddressbook/oa2.png" /></figure> </listitem>
</itemizedlist></listitem>
<listitem>As result will be shown the generated URI and the output message of executing the ODS REST API.
 In our case, the id of the new created contact will be: 1046 <itemizedlist mark="bullet" spacing="compact"><listitem><figure><graphic fileref="VirtOAuthTestToolExampleAddressbook/oa3.png" /></figure> </listitem>
</itemizedlist></listitem>
<listitem>Now lets get the data for the created contact.
 In the form enter: <orderedlist spacing="compact"><listitem> <emphasis>API method</emphasis>: addressbook.get </listitem>
<listitem> <emphasis>API parameters</emphasis>: contact_id=1046 </listitem>
<listitem>Select for <emphasis>Query options</emphasis>: &quot;Generate URI and Submit&quot;.
</listitem>
</orderedlist></listitem>
<listitem>Click the &quot;Execute&quot; button.
</listitem>
<listitem>As result in the &quot;Response Body&quot; text-area will be shown the retrieved details for the contact with the given above id.
<itemizedlist mark="bullet" spacing="compact"><listitem><figure><graphic fileref="VirtOAuthTestToolExampleAddressbook/oa4.png" /></figure></listitem>
</itemizedlist></listitem>
</orderedlist><para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h2">Related</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="VirtuosoOdsControllersAddressbook">Addressbook REST Controllers</ulink> </listitem>
<listitem><ulink url="VirtOAuthTestTool">OAuth Test Tool for ODS Controllers</ulink> - Examples: <itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="VirtOAuthTestToolExampleBriefcase">ODS Briefcase</ulink> </listitem>
<listitem><ulink url="VirtOAuthTestToolExampleWeblog">ODS Weblog</ulink> </listitem>
<listitem><ulink url="VirtOAuthTestToolExampleBookmarks">ODS Bookmarks</ulink> </listitem>
<listitem><ulink url="VirtOAuthTestToolExamplePolls">ODS Polls</ulink> </listitem>
<listitem><ulink url="VirtOAuthTestToolExampleCalendar">ODS Calendar</ulink> </listitem>
<listitem><ulink url="VirtOAuthTestToolExampleFeeds">ODS Feed Manager</ulink> </listitem>
</itemizedlist></listitem>
<listitem><ulink url="http://virtuoso.openlinksw.com/wiki/main/Main/OAuth">OpenLink&#39;s explanation of OAuth</ulink> </listitem>
<listitem><ulink url="http://virtuoso.openlinksw.com/wiki/main/Main/VirtuosoOAuthServer">Virtuoso OAuth server</ulink> </listitem>
<listitem><ulink url="VirtOAuthControllers">Using OAuth with ODS</ulink> </listitem>
<listitem><ulink url="VirtuosoOdsUbiquity">ODS Ubiquity Commands</ulink> </listitem>
<listitem><ulink url="http://virtuoso.openlinksw.com/wiki/main/Main/VirtOAuth">Virtuoso OAuth Implementation</ulink> </listitem>
<listitem><ulink url="VirtuosoOdsControllers">ODS Controllers</ulink> </listitem>
<listitem><ulink url="VirtODSOAuthQA">Testing Virtuoso OAuth with 3rd Party OAuth Clients</ulink> </listitem>
<listitem><ulink url="VirtuosoOdsUbiquityTutorialsOAuth">OAuth Ubiquity Tutorial</ulink> </listitem>
<listitem><ulink url="http://virtuoso.openlinksw.com/wiki/main/Main/VirtOAuthSPARQL">Virtuoso SPARQL OAuth Tutorial</ulink> </listitem>
<listitem><ulink url="VirtuosoOdsUbiquityTutorials">ODS Ubiquity Tutorials</ulink> </listitem>
<listitem><ulink url="VirtOAuthExamples">OAuth Applications Authentication examples</ulink> </listitem>
<listitem><ulink url="http://oauth.net/core/1.0/">OAuth API</ulink></listitem>
</itemizedlist><para><ulink url="CategoryAddressBook">CategoryAddressBook</ulink> <ulink url="CategoryODS">CategoryODS</ulink> </para>
</section></docbook>