<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SpiceMailer Web Tutotiral &#187; Tutorial</title>
	<atom:link href="http://spicemailer.com/web/category/tutorial/feed/" rel="self" type="application/rss+xml" />
	<link>http://spicemailer.com/web</link>
	<description>Just another WordPress site</description>
	<lastBuildDate>Thu, 19 Sep 2024 16:44:50 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.9.2</generator>
	<item>
		<title>Create unique slugs for URLs using PHP and Python</title>
		<link>http://spicemailer.com/web/create-unique-slugs-urls-using-php-python/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=create-unique-slugs-urls-using-php-python</link>
		<comments>http://spicemailer.com/web/create-unique-slugs-urls-using-php-python/#comments</comments>
		<pubDate>Wed, 17 Sep 2014 07:33:41 +0000</pubDate>
		<dc:creator><![CDATA[FrantzFerdinand]]></dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[slugs]]></category>

		<guid isPermaLink="false">http://spoontalk.com/web/?p=40</guid>
		<description><![CDATA[<p>With every geek on Quora, it has become a place where people are asking all kinds of weird questions and that too again and again. If anyone observes the URLs, you would notice something called slugs. Slugs in the URLs are SEO friendly. By SEO friendly, it means that a URL like http://xyz.com/what-is-spice-forms is much better than [&#8230;]</p>
<p>The post <a rel="nofollow" href="http://spicemailer.com/web/create-unique-slugs-urls-using-php-python/">Create unique slugs for URLs using PHP and Python</a> appeared first on <a rel="nofollow" href="http://spicemailer.com/web">SpiceMailer Web Tutotiral</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>With every geek on Quora, it has become a place where people are asking all kinds of weird questions and that too again and again. If anyone observes the URLs, you would notice something called slugs. Slugs in the URLs are SEO friendly. By SEO friendly, it means that a URL like <code>http://xyz.com/what-is-spice-forms</code> is much better than than an <code>id</code> based url like this <code>http://xyz.com/post/4</code>. The <code>what-is-spice-forms</code> portion in URL is called slug. It points to exactly <code>/post/4</code> and hence, acts as an alias.<span id="more-40"></span></p>
<p>Clean URLs help search engines like Google, Bing to identify the content of the page (yes they are intelligent enough to understand English) and if searched for, it simply lists pages with these URLs on the top. In fact, Google uses gives preferences to the content of the URL while ranking results &#8211; this means that if the slug contains a search term, there is a probability that it would be ranked higher. The routing system of each framework is different and URLs can be stored with a matching value. For example, a URL like <code>http://xyz.com/what-is-spice-forms</code> is actually interpreted as<code>http://xyz.com/post/4</code>. It means visiting the not-so-friendly URL will also land you to same page.</p>
<p>There might be a case of ambiguity if someone asks the same question. Usually that time a database search is done and the URL is modified slightly to make it unique. For example, it can be observed that Facebook stores URL like <code>http://xyz.com/what-is-spice-forms-12836</code>. The last number is used to make the slug unique and it reduces a database query.</p>
<p>Overall, it can be concluded that slug based URLs are very constructive towards the popularity of the site.</p>
<h3><a class="anchor" style="color: #4183c4;" href="https://gist.github.com/sdaityari/c2770d7f8c8ce112f7b9#slug-maker" rel="noreferrer" name="user-content-slug-maker"></a>PHP Slug Maker</h3>
<p>We will discuss the slug maker in PHP. It is very easy to make a slug out of a given sentence or group of words. We are going to take inspiration from a <a style="color: #4183c4;" href="https://gist.github.com/anonymous/2912227" rel="noreferrer">gist</a> and then slightly modify it to create unique URLs.</p>
<pre><code>&lt;?php
function slugify($str) {
    $search = array('Ș', 'Ț', 'ş', 'ţ', 'Ş', 'Ţ', 'ș', 'ț', 'î', 'â', 'ă', 'Î', 'Â', 'Ă', 'ë', 'Ë');
    $replace = array('s', 't', 's', 't', 's', 't', 's', 't', 'i', 'a', 'a', 'i', 'a', 'a', 'e', 'E');
    $str = str_ireplace($search, $replace, strtolower(trim($str)));
    $str = preg_replace('/[^\w\d\-\ ]/', '', $str);
    $str = str_replace(' ', '-', $str);
    return preg_replace('/\-{2,}/', '-', $str);
}
</code></pre>
<p>This function generates a slug based out of the <code>$str</code> you pass to the function. A string like this <code>The quick brown fox</code> was slugified to <code>the-quick-brown-fox</code>. To make it unique, we will add a unique string at the end.</p>
<pre><code>$url = slugify("The quick brown fox")."-".uniqid();
</code></pre>
<h3><a class="anchor" style="color: #4183c4;" href="https://gist.github.com/sdaityari/c2770d7f8c8ce112f7b9#php-uniqid" rel="noreferrer" name="user-content-php-uniqid"></a>PHP uniqid()</h3>
<p><a style="color: #4183c4;" href="http://php.net/manual/en/function.uniqid.php" rel="noreferrer">uniqid()</a> helps to generate a unique random string and the algorithm makes it almost unique. There are some params which can be passed to increase the likelihood of uniqueness but since we are already combining it with a slug, the total string being duplicate has inverse astronomical probability. In simple words, the slug generated will be unique. If you are using databasees, you can also append the primary key (ID) to the end of the string to make it unique.</p>
<h2><a class="anchor" style="color: #4183c4;" href="https://gist.github.com/sdaityari/c2770d7f8c8ce112f7b9#python" rel="noreferrer" name="user-content-python"></a>Python</h2>
<p>In python, a package already exists which makes slugs. You can install it using a package manager like pip.</p>
<pre><code>pip install python-slugify
</code></pre>
<h3><a class="anchor" style="color: #4183c4;" href="https://gist.github.com/sdaityari/c2770d7f8c8ce112f7b9#usage" rel="noreferrer" name="user-content-usage"></a>Usage:</h3>
<pre><code>txt = "This is a test ---"
r = slugify(txt) // gives 'this-is-a-test'
</code></pre>
<p>The unique ID can be attached using <code>uuid()</code> function and voila, the slug is created.</p>
<h3><a class="anchor" style="color: #4183c4;" href="https://gist.github.com/sdaityari/c2770d7f8c8ce112f7b9#python-django" rel="noreferrer" name="user-content-python-django"></a>Python Django</h3>
<p>If you are using Python Django, a package is available called <code>django-autoslug</code> which does exactly the same. Also, the <code>[SlugField](https://docs.djangoproject.com/en/dev/ref/models/fields/#slugfield)</code>may be used to create slugs in models.</p>
<p>I hope the quest for creating unique slugs is over. Keep creating them!</p>
<p>The post <a rel="nofollow" href="http://spicemailer.com/web/create-unique-slugs-urls-using-php-python/">Create unique slugs for URLs using PHP and Python</a> appeared first on <a rel="nofollow" href="http://spicemailer.com/web">SpiceMailer Web Tutotiral</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://spicemailer.com/web/create-unique-slugs-urls-using-php-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Display attributes in CSS Explained</title>
		<link>http://spicemailer.com/web/display-attributes-css-explained/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=display-attributes-css-explained</link>
		<comments>http://spicemailer.com/web/display-attributes-css-explained/#comments</comments>
		<pubDate>Sun, 14 Sep 2014 06:15:22 +0000</pubDate>
		<dc:creator><![CDATA[FrantzFerdinand]]></dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[display attributes]]></category>

		<guid isPermaLink="false">http://spoontalk.com/web/?p=37</guid>
		<description><![CDATA[<p>The display property of an element is responsible for its layout and rendering on the browser. This particular setting defines how the element will look which includes not being visible at all. By default all the elements have inline as default display. Let us discuss about some other useful display options web developers have. 1. inline - If any property is not specified, inline always [&#8230;]</p>
<p>The post <a rel="nofollow" href="http://spicemailer.com/web/display-attributes-css-explained/">Display attributes in CSS Explained</a> appeared first on <a rel="nofollow" href="http://spicemailer.com/web">SpiceMailer Web Tutotiral</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>The <code>display</code> property of an element is responsible for its layout and rendering on the browser. This particular setting defines how the element will look which includes not being visible at all. By default all the elements have <code>inline</code> as default <code>display</code>.<span id="more-37"></span></p>
<p>Let us discuss about some other useful <code>display</code> options web developers have.</p>
<p><code>1. inline</code> - If any property is not specified, <code>inline</code> always acts as default. It simply creates a box, which is as close as possible to the actual rendering area. It doesn&#8217;t really matter what are the dimensions of parent element as it <code>inline</code> does not take that into account. You cannot specify the height and width of the element. But yes <code>margin</code> and <code>padding</code> works in horizontal direction but not in vertical direction. For example:</p>
<pre><code>&lt;h2 style='display:inline'&gt;Hello World&lt;/h2&gt;
</code></pre>
<p>Would look like this:</p>
<p><a style="color: #4183c4;" href="https://camo.githubusercontent.com/d8fb0f16fcbcaee3ca6e839c6ed6a66ff4899a51/687474703a2f2f6935372e74696e797069632e636f6d2f31356869736d735f74682e6a7067" target="_blank" rel="noreferrer"><img src="https://camo.githubusercontent.com/d8fb0f16fcbcaee3ca6e839c6ed6a66ff4899a51/687474703a2f2f6935372e74696e797069632e636f6d2f31356869736d735f74682e6a7067" alt="inline" data-canonical-src="http://i57.tinypic.com/15hisms_th.jpg" /></a></p>
<p><code>2. inline-block</code> - It is almost similar to <code>inline</code>, the difference being that <code>width</code> and <code>height</code> can be specified. For example:</p>
<pre><code>&lt;h2 style='display:inline-block;width:120px;height:200px'&gt;Hello World&lt;/h2&gt;
</code></pre>
<p>Would look like this:</p>
<p><a style="color: #4183c4;" href="https://camo.githubusercontent.com/1b5d8c58432a90b86d31e463d34f48dc0816ef83/687474703a2f2f6936302e74696e797069632e636f6d2f32757a636574735f74682e6a7067" target="_blank" rel="noreferrer"><img src="https://camo.githubusercontent.com/1b5d8c58432a90b86d31e463d34f48dc0816ef83/687474703a2f2f6936302e74696e797069632e636f6d2f32757a636574735f74682e6a7067" alt="inline-block" data-canonical-src="http://i60.tinypic.com/2uzcets_th.jpg" /></a></p>
<p><code>3. block</code> - Elements such as <code>div</code>, <code>p</code>,<code>h1</code> and with HTML5 elements like <code>header</code>, <code>section</code> are<code>block</code> by default. <code>block</code> elements tend to acquire the width of the parent element. So basically, it takes as much as horizontal space which is available to it. For example, elements declared after a heading with <code>h#</code> tag always come below it. This is due to the <code>width:100%</code> which they have due to<code>block</code> display. For example:</p>
<pre><code>&lt;h2 style='display:block'&gt;Hello World&lt;/h2&gt;
</code></pre>
<p>Would look like this:</p>
<p><a style="color: #4183c4;" href="https://camo.githubusercontent.com/b6f606f673c46ca84b6d54ec44eb362f6452edcf/687474703a2f2f6f6935392e74696e797069632e636f6d2f3562717833702e6a7067" target="_blank" rel="noreferrer"><img src="https://camo.githubusercontent.com/b6f606f673c46ca84b6d54ec44eb362f6452edcf/687474703a2f2f6f6935392e74696e797069632e636f6d2f3562717833702e6a7067" alt="block" data-canonical-src="http://oi59.tinypic.com/5bqx3p.jpg" /></a></p>
<p><code>4. none</code> - When this property is assigned to <code>display</code>, browser considers that the element doesn&#8217;t exist in DOM. This means it&#8217;s invisible and doesn&#8217;t take any space nor leave any vacant unoccupied space. Although, it can be referred by Javascript. Changing the property to block or inline will make it visible once again.</p>
<p><code>5. table</code> - These are rarely used. We have a list of them which can help you build a table from <code>div</code>but once again, they are rarely used or not used at all. They are self explanatory about the properties and I think directly using a <code>table</code> will make more sense. <code> display: table display: table-cell display: table-column display: table-column-group display: table-footer-group display: table-header-group display: table-row display: table-row-group </code></p>
<p><code>6. list-item</code> - This has also got nothing so special except that the element starts behaving as if it is<code>&lt;li&gt;&lt;/li&gt;</code>.</p>
<p>With only <code>block</code>, <code>none</code> and <code>inline</code> being significantly used, other display properties are losing usage with time. I hope you enjoyed reading this. To test things, simply move on to <code>inspect-element</code> in Google Chrome and try changing display property of various elements, specially <code>h#</code> tags. For more info and documentation, check <a style="color: #4183c4;" href="https://developer.mozilla.org/en-US/docs/Web/CSS/display" rel="noreferrer">Mozilla Documentation</a>.</p>
<p>The post <a rel="nofollow" href="http://spicemailer.com/web/display-attributes-css-explained/">Display attributes in CSS Explained</a> appeared first on <a rel="nofollow" href="http://spicemailer.com/web">SpiceMailer Web Tutotiral</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://spicemailer.com/web/display-attributes-css-explained/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook Graph API &#8211; The OAuth Token explained</title>
		<link>http://spicemailer.com/web/facebook-graph-api-oauth-token-explained/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=facebook-graph-api-oauth-token-explained</link>
		<comments>http://spicemailer.com/web/facebook-graph-api-oauth-token-explained/#comments</comments>
		<pubDate>Wed, 10 Sep 2014 06:12:53 +0000</pubDate>
		<dc:creator><![CDATA[FrantzFerdinand]]></dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[graph api]]></category>
		<category><![CDATA[oauth]]></category>

		<guid isPermaLink="false">http://spoontalk.com/web/?p=6</guid>
		<description><![CDATA[<p>I still remember the days when few of the apps built to modify emails, wanted the username and password of the user to fetch their information. It was always unsafe, even when websites promised a lot. Basically, it was a violation of privacy, giving third party websites full control of the entire account. The biggest [&#8230;]</p>
<p>The post <a rel="nofollow" href="http://spicemailer.com/web/facebook-graph-api-oauth-token-explained/">Facebook Graph API &#8211; The OAuth Token explained</a> appeared first on <a rel="nofollow" href="http://spicemailer.com/web">SpiceMailer Web Tutotiral</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>I still remember the days when few of the apps built to modify emails, wanted the username and password of the user to fetch their information. It was always unsafe, even when websites promised a lot. Basically, it was a violation of privacy, giving third party websites full control of the entire account. The biggest loophole was that if they changed the password of your account, it would be lost forever and you were bound completely without any legal support.<span id="more-6"></span></p>
<p>While Facebook was expanding, it noticed that there was a need to exchange lots of data. There were users who came for gaming, social marketing, shopping or for simple authentication and Facebook had lots of data which could be shared like name, email, activities and likes. Most other platforms didn&#8217;t realize the importance of sharing data as a business model (and yes, Google did exactly the reverse — it took your data away) and rarely took a step in this direction. But when Facebook wanted to share user&#8217;s data with other websites and in turn wanted to receive the data from them in a secure manner without exposing the credentials of the user, they made a &#8216;Login Via Facebook&#8217; plugin which is based on OAuth protocol. The major feature of this method is that the user doesn&#8217;t have to share his username/password to the third party websites in order to let them access his/her data. That means, it eliminates the requirement of different key/secret for each user. Instead an app key/secret pair is enough to fetch the required data.</p>
<p>The whole effort by Facebook opened new gates for business. Every other website came up with<code>Login Via XXXX</code> option be it Twitter, Google+, LinkedIn, GitHub, FreshDesk and most others. But Facebook is still leads the way by long with Google catching it up. Hence this post is about the OAuth protocol along with some basic Facebook API setup.</p>
<h2><a class="anchor" style="color: #4183c4;" href="https://gist.github.com/sdaityari/027909bcb6acd3a4cab4#oauth-introduction" rel="noreferrer" name="user-content-oauth-introduction"></a>OAuth Introduction</h2>
<p>OAuth is basically an authentication protocol using which apps can access data from third party websites about a particular entity. An idea about how this technology works will help you understand its implementation. By taking the example of <a style="color: #4183c4;" href="https://developers.facebook.com/docs/javascript" rel="noreferrer">Facebook Javascript SDK</a> Let us define OAuth in few steps so that its can be easily understood while we write the code for the same.</p>
<h3><a class="anchor" style="color: #4183c4;" href="https://gist.github.com/sdaityari/027909bcb6acd3a4cab4#facebook-javascript-sdk-loads" rel="noreferrer" name="user-content-facebook-javascript-sdk-loads"></a>Facebook Javascript SDK Loads</h3>
<p>A <code>div</code> with <code>id = fb-root</code> is appended to the <code>&lt;body&gt;</code> and Facebook uses that as a reference to load its Javascript SDK on to the browser. This SDK is basically a library which has functions defined to send requests to Facebook Server which includes obtaining permissions, fetching data and posting on the behalf of a user.</p>
<h3><a class="anchor" style="color: #4183c4;" href="https://gist.github.com/sdaityari/027909bcb6acd3a4cab4#user-grants-permission" rel="noreferrer" name="user-content-user-grants-permission"></a>User Grants Permission</h3>
<p>User grants the permission by clicking on a the &#8216;Login via Facebook&#8217; button. A request is sent to Facebook&#8217;s server. Along with that a key is also sent which has to be obtained prior to coding. It is obtained by registering your domain name with Facebook. Now Facebook matches this key and the domain it has been called from just to make sure that user grants permission to the correct website. Now the user encounters a popup from Facebook where he can grant certain permissions which Facebook takes note of. Then finally an access token is sent to the browser.</p>
<h3><a class="anchor" style="color: #4183c4;" href="https://gist.github.com/sdaityari/027909bcb6acd3a4cab4#access-token" rel="noreferrer" name="user-content-access-token"></a>Access Token</h3>
<p>The access token obtained is basically a string, which is an authorization of the user and Facebook to allow using certain data related to user. Now the website can send its key and access token to the Facebook server along with specifying what data it requires. Facebook cross checks the access token against the permissions it granted and sends data/error codes respectively. An access token is related to a user and a Facebook application created by the third party website for this purpose.</p>
<h3><a class="anchor" style="color: #4183c4;" href="https://gist.github.com/sdaityari/027909bcb6acd3a4cab4#validity-of-access-token" rel="noreferrer" name="user-content-validity-of-access-token"></a>Validity of Access Token</h3>
<p>The access token is valid only for 2 hours after its creation. Also if the user deactivates their Facebook account, all existing tokens become invalid. Although an access token of 2 months validity can be obtained and stored, but usually websites acquire a fresh token each time the user logs in.</p>
<h2><a class="anchor" style="color: #4183c4;" href="https://gist.github.com/sdaityari/027909bcb6acd3a4cab4#creating-an-app-on-facebook" rel="noreferrer" name="user-content-creating-an-app-on-facebook"></a>Creating an App on Facebook</h2>
<p>There are numerous tutorials available and the website itself is self explanatory. We are going to describe it briefly once again.</p>
<ol class="task-list">
<li>Log on to Facebook and then open <a style="color: #4183c4;" href="https://developers.facebook.com/" rel="noreferrer">Facebook Developers</a> in a new tab.</li>
<li>Click on <code>Apps</code> followed by <code>Create a new app</code>.</li>
</ol>
<p><a style="color: #4183c4;" href="https://camo.githubusercontent.com/a18404bf9c7edb49e54718afc81f7ff0ac408c67/687474703a2f2f6f6935382e74696e797069632e636f6d2f316f75706f702e6a7067" target="_blank" rel="noreferrer"><img src="https://camo.githubusercontent.com/a18404bf9c7edb49e54718afc81f7ff0ac408c67/687474703a2f2f6f6935382e74696e797069632e636f6d2f316f75706f702e6a7067" alt="Facebook Create App" data-canonical-src="http://oi58.tinypic.com/1oupop.jpg" /></a>3. Write a name for your app, select a category and click on create.</p>
<p><a style="color: #4183c4;" href="https://camo.githubusercontent.com/0db893c8ecb2011246fde30848b311230dd67cd9/687474703a2f2f6f6936302e74696e797069632e636f6d2f6f6633376f302e6a7067" target="_blank" rel="noreferrer"><img src="https://camo.githubusercontent.com/0db893c8ecb2011246fde30848b311230dd67cd9/687474703a2f2f6f6936302e74696e797069632e636f6d2f6f6633376f302e6a7067" alt="App Window" data-canonical-src="http://oi60.tinypic.com/of37o0.jpg" /></a></p>
<p><a style="color: #4183c4;" href="https://camo.githubusercontent.com/690e85f7616274b07214c39362f1547a24997a84/687474703a2f2f6f6936302e74696e797069632e636f6d2f323165323539312e6a7067" target="_blank" rel="noreferrer"><img src="https://camo.githubusercontent.com/690e85f7616274b07214c39362f1547a24997a84/687474703a2f2f6f6936302e74696e797069632e636f6d2f323165323539312e6a7067" alt="App Category" data-canonical-src="http://oi60.tinypic.com/21e2591.jpg" /></a>4. You can see you AppId and Secret Key.</p>
<p><a style="color: #4183c4;" href="https://camo.githubusercontent.com/ff8dc921ffba49421f2a04a3a6783dfbcbd99fad/687474703a2f2f6f6936312e74696e797069632e636f6d2f3135777176742e6a7067" target="_blank" rel="noreferrer"><img src="https://camo.githubusercontent.com/ff8dc921ffba49421f2a04a3a6783dfbcbd99fad/687474703a2f2f6f6936312e74696e797069632e636f6d2f3135777176742e6a7067" alt="AppId and Secret" data-canonical-src="http://oi61.tinypic.com/15wqvt.jpg" /></a>5. Click on &#8216;Create a Platform&#8217; followed by &#8221;Website&#8217;.</p>
<p><a style="color: #4183c4;" href="https://camo.githubusercontent.com/d212d5c4e86530240b1a252ae7c22a09a375ecef/687474703a2f2f6f6935392e74696e797069632e636f6d2f317a70346261682e6a7067" target="_blank" rel="noreferrer"><img src="https://camo.githubusercontent.com/d212d5c4e86530240b1a252ae7c22a09a375ecef/687474703a2f2f6f6935392e74696e797069632e636f6d2f317a70346261682e6a7067" alt="New Platform" data-canonical-src="http://oi59.tinypic.com/1zp4bah.jpg" /></a>6. Enter Domain name and save it.</p>
<p><a style="color: #4183c4;" href="https://camo.githubusercontent.com/9aa7383f4172a55840cb70ddb31eefb4e8324fa1/687474703a2f2f6f6935372e74696e797069632e636f6d2f7a786f33726e2e6a7067" target="_blank" rel="noreferrer"><img src="https://camo.githubusercontent.com/9aa7383f4172a55840cb70ddb31eefb4e8324fa1/687474703a2f2f6f6935372e74696e797069632e636f6d2f7a786f33726e2e6a7067" alt="Domain" data-canonical-src="http://oi57.tinypic.com/zxo3rn.jpg" /></a></p>
<p>Just keep a note of the key and secret as these will help you in the process. In the next post, a real implementation of the whole process can be discussed. Both Javascript and PHP based examples on extraction of data from Facebook Graph API will be discussed where we will build an app to show details of the user using data from his Facebook account. A lot of documentation is provided on the<a style="color: #4183c4;" href="https://gist.github.com/sdaityari/developers.facebook.com" rel="noreferrer">Facebook Developers</a> website which provides a great deal of understanding and scope to which you can access data. It includes access user&#8217;s profile, his feed. You can also take permissions to send messages, post status and manage pages from your website on his behalf. There is API for metrics and stats of pages too. I hope you enjoyed reading this post.</p>
<p>The post <a rel="nofollow" href="http://spicemailer.com/web/facebook-graph-api-oauth-token-explained/">Facebook Graph API &#8211; The OAuth Token explained</a> appeared first on <a rel="nofollow" href="http://spicemailer.com/web">SpiceMailer Web Tutotiral</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://spicemailer.com/web/facebook-graph-api-oauth-token-explained/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
