As part of my ongoing learning and a current coding challenge, I am setting up an Amazon AWS instance. I headed to aws.amazon.com but immediately ran into trouble because I had closed my account in 2013 because I didn’t know what to do with it ;-(
Amazon’s tech support is super fast and turned me back on right away; when I tried a new “Elastic Beanstalk” I ran into another blocker, so went ahead and bought the Developer level version so I can get access to everything necessary.
On the website side, I usually use Drupal but my challenge is to convert that learning into Laravel. This project is supposed to use Facebook Login to handle user registration, and then have a way to post status updates back to your own Facebook wall, including images, videos, and your own text.
For Facebook Developers (note, you may need to give your phone number if you haven’t already, to sign up for this:) https://developers.facebook.com It’s fairly straightforward to create a new application, or “app”, which then generates an App “ID” as well as a secret key for that application. Keep private.
The Facebook app details page usually has various information about how people will be accessing it (e.g. web, Android, iOS), the different types of “roles” of people that can be a part of the app, e.g. developers, or testers, the URL that will be interacting with the app, and background information. Basic information can be “passed” through the app such as the Facebook username and Facebook ID of the user, without any additional permissions; however, there are even more pieces of information about the user such as the contents of their mailbox, their hometown, and others, that can be asked for and received.
If you’re concerned about sites using your information, go ahead into the apps that you’ve allowed to access your account using your Privacy settings, and dial those privileges down.
In the past few years, the “Open Graph” http://ogp.me/ has become available, where different “meta” tags are available for your website, which can then be shared around.
For Facebook purposes, they basically “scrape” your site and pull out whatever information they need, typically the title, the description, the image, etc. If there is an “app id” associated with the page, they can “count” that as well.
Here’s my inelegant way of displaying the Drupal content inside each of the relevant sections that I need — — note that the last “video” tag is a NYTimes link that I’m testing against. Also, it would be a better next step to allow for nothing, or allow for a default image if one doesn’t currently exist, because not all of my website pages even have an image or a video.
This is my page on my testing URL’s <meta> properties.
I put these additional lines into the top of any “article” on my testing site.
In the Drupal FB Oauth settings, you specify your app id and your secret “key” (remember to keep private) and it makes the connections there.
I believe for Laravel I have the option of either Socialite https://github.com/laravel/socialite or LaravelFacebookSdk: https://github.com/SammyK/LaravelFacebookSdk but I’m not sure right now which to pick, I’m leaning with SammyK’s because the challenge for me is to allow for a photo and a video upload to one’s own Facebook Wall.
a beautiful designer I am not; that said, I do encourage you to grab any of some inspiring great images from my “Inspirational Slides” file here: http://tinyurl.com/inspirationalslides (download a bunch of great images)
So, having a site login section, being able to login with your Facebook account, being able to “post” an item back to your Facebook Wall, and having that then be “counted” back to your original application (app id), can be handled fairly straightforwardly.
Then being able to see the last 3 status updates, as well as add photos and video, is what I’ll be learning soon.