Graph API posting jobs and retrieving applications through a separate ATS - facebook

So I have gone in details through the Jobs XML documentation.
The steps that I completed are :
Creating a recruitment manager to post and retrieve jobs.
Created a url for Facebook to crawl job xml data referring this.
My question refers to application-callback-url section in the xml which specifies to configure an endpoint to receive applications received from facebook in raw json data.
Question
I don't want to receive applications from Facebook but rather want to redirect the user to a particular ATS where the applicant can proceed with their application. It should be Apply on Website and not just Apply when I post jobs. This is where all the necessary information needs to be present but I couldn't find anything relevant to my use case.
There are 2 endpoints /me/jobs and /me/job_feeds. I am not understanding the difference between the 2 and which one should I be using as per my use case?

Related

REST - Api design for posting a form data and fetching another resource

I am developing a feature, where a user requests some data by filling a form and posting it. The form contains user details (name, email, mobile etc.) and these details need to be saved in the database as a lead. Once the lead data is saved successfully then only the requested data will have to be retrieved from the database and shown to the user.
I started looking into this problem by dividing it into below two APIs and calling it sequentially
A POST API to create a lead resource.
A GET API to fetch the requested resource on the success of POST.
But then I realized that the solution will affect the speed of data retrieval as I will be doing two separate network request sequentially and I cannot compromise on speed.
How can I solve this problem without compromising on speed? Should I use POST request and return the requested data in its response?
P.S. I cannot call both the APIs in parallel
Yes, that's exactly what you should do - the POST request should respond with the newly created resource, that the client can subsequently use.
You have been thinking about the problem from the web developer's perspective. You have this byte stream and to send it to clients doesn't need any form submission, a GET request ought to suffice. But from the business' perspective, retrieving the file does require a form submission, namely, the user's personal data. Even from the user's perspective it is a single operation. The user sends in the requisite data in order to get out the desired response (e.g. a file download). The saving of the input data (user's private details) is a side effect, not a user-intended outcome.
As such, a single POST request which submits the user data, saves it, then responds with the requested resource, is sufficient to cover the situation.

Impersonation on ToDo Items via X-LConn-RunAs using the IBM Connections REST API

I have successfully posted data to IBM Connections using the X-LConn-RunAs Header in my API calls to create Activity Stream Entries, Blog Posts, Wiki Pages, Forum Entries and File Uploads on behalf of someone else although it is not documented in some of the APIs. The only API that does not seem to support this Header is the Activity API. Here is what I did:
I added my technical user to the "trustedExternalApplication" role in the "WidgetContainer" application.
I added my technical user to the "admin" role in all other applications.
I added the X-LConn-RunAs Header to my api call like this: X-LConn-RunAs: userid=D2A7325-...
I made sure the referenced user exists in IBM Connections.
I sent my call to: http://myconnections/activities/service/atom2/activity?activityUuid=GH765...
The post is still being created with the technical user as creator instead of the user referenced by X-LConn-RunAs. I tested this against my on premises IBM Connections 5.0 installation as well as IBM Connections Cloud. While all other API calls support this Header the Activities don't.
Did anybody have more luck than myself and figured out how to use it or is there another way to achieve the same result with a different header or some additional information in the message body? I tried to send an <author> element but that is being ignored as it says in the documentation.
As just heard in an IBM Connect 16 session (you are sitting left of me ;-) ), as of today Impersonation of activity stream and status update data is not possible

Regarding REST API

I'm new to REST APIs and trying to understand the basics of them. So lets begin by saying that I have created a simple CMS web application using PHP (You create an user, you post an entry and assign some categories maybe, etc...).
That being said, if I wanted to create a mobile app that would do the same, I'll have to create some PHP functions in order to send data as JSON or XML and also in order to process a POST or PUT request.
is a REST API the collection of those functions I'd use to handle the mobile app POST, PUT and GET request using JSON or XML as the data format? if not, can I get an example, not a definition, please.
To answer your question,yes, the REST API is a collection of those functions for any client you wish to expose it to for creating an user, posting an entry etc. The accepted data format is something you decide for your API. It may be JSON, XML or even both.
Some examples:
http://coenraets.org/blog/2011/12/restful-services-with-jquery-php-and-the-slim-framework/
http://peter.neish.net/building-a-mobile-app-backend-using-mongodb-and-slim-a-php-rest-framework/

Fetching jobs from oDesk

I have created a Windows C# 4.0 application that is fetching jobs from oDesk according to different parameters sent to the REST API. But the problem is it is only returning public jobs. When I login to a browser and visit the same URL it is returning all the jobs in browser(and not in my application) that are available to oDesk user(not private jobs) and also public jobs. I am fetching data in JSON format(but for confirming the data i am using xml format in browser).
For example I am using the following URL to fetch jobs but it is only returning public jobs.
https://www.odesk.com/api/profiles/v1/search/jobs.xml?page=0;100&q=store&t=Hourly&dp=1&st=Open&sort=date_posted;A
and if I login to oDesk site and visit the same URL in browser it shows public jobs and oDesk jobs.
so how can I get all the jobs? Can i get those jobs using oAuth or REST API key authentication using my api key and api secret? if possible then please give a little example of how to implement oAuth or a link.
Please, check these links I just created a job posting. However, I do not see it when I do a job search. What happened? and How do I decide what job visibility to set when I create my job post? - this will shed some light on what is Private/Public Job at oDesk.
Then start following oDesk Developer Wiki (developers.odesk.com) - check the sections developers.odesk.com/Authentication and developers.odesk.com/Examples
Note, that OAuth is certified protocol and official site provides a list of libraries ready for use (links are available in our doc)
When you sign your request and run it as authed user a response will contain all jobs.
p.s. developers.odesk.com is a link you should open in your browser, sorry I can not post more than 2 links
Fetched all the jobs using oAuth.

How do i use an API

I've never used an API and was wondering how you use them... I would like to use facebook, twitter and vimeo's api,
Can someone explain the basics of using them, how do i access them and use them etc.
Please and thanks
Neil
How to use an API depends on the API. Usually the API creator has documentation on how to use their specific API.
Mostly, things work like the following:
You register to get a developer key. Then, you send requests to the service via HTTP (for example Twitter is using REST, which requires you to send XML or JSON to a specific http-URL providing your key). You get an answer from the service, which you must then parse and react to accordingly (for example filling a list with contacts, etc.).
Most of the time this all comes down to:
Create an XML or JSON document that describes the call parameters
Send the document to an URL using GET, POST or other request methods
Get the server's response
Parse and evaluate the response
The specific ways to use the API, especially performing authentication, can be found on the service's developer pages.
The best way to start if you want to use an API is to read it's documentation, find some tutorials and code examples. This is always/usually published by the one offering an API.
Good luck :)