Synchronize post and get http - api

This might be a stupid question but I really can't figure it out. Let's say I have a server exposing a REST API, and an app consuming that API, let's say it's a mobile app. The app wants to post something on the server, a new user for instance, and then it wants to get all the users back to display that the new user is added. This will work in general but sometimes the list won't contain the new user because we are not guaranteed that the post will happen before the get. So my question is how can we enforce that the post will be done before the get?

Don't send the GET until the response from the POST comes back.

Related

API to check Periscope User is Online

I've scoured for any information regarding an Open API for Periscope.
I have a twitter feed, that should only show if Periscope is Live (the said user will share the broadcast via Twitter).
I can parse the word "IS LIVE" but then I'd have to parse multiple languages.
I'm looking to check an API if the user is Online in periscope, if so, then display the latest twitter feed (which is the broadcast).
There was this User Online button that could be generated
https://www.periscope.tv/embed
it calls an api like https://embed.periscope.tv/user/bpsdmik.json
but it seems that the certificate is invalid, so I keep getting errors ..
Any help / workarounds would be much appreciated!
I've Searched OPEN Periscope, but mostly requires an Authentication token etc.
There is no open API for Periscope. At least, not that I'm aware of. Which would explain your difficulty in finding anything. The closest thing would be the Unofficial Periscope API, documented by Pmmlabs (the same folks who run the OpenPeriscope project). However, as you've already discovered, most of the calls to the Periscope API, including all user-related calls, require an auth token.
Outside of using the API or screen scraping, the only other way I can think of to tell if a user is live or not is to try accessing their Periscope page directly. When you go to a user's Periscope page at https://www.pscp.tv/{userId}, Periscope will redirect you to that users most recent broadcast, where you can parse the broadcast id from the redirect URL. Once you have the broadcast id of the most recent broadcast, you can use the following API call (which does not require an auth token):
https://api.periscope.tv/api/v2/getAccessPublic?token={broadcastId}
... to determine whether the broadcast is live or not. Look at the JSON response and if the "type" field equals "StreamTypeReplay", then it's a replay, otherwise it's a live broadcast.

Is there a event handler for new comments for Facebook comment plug in?

I am trying to leverage Facebook comments plug in and push notifications for post on my page. What I am basically trying to do is:
user creates a post
the Facebook comment is dynamically inserted for that post by suffixing id from that post.
The above two are already done in the page.
Now what I want is, when someone posts, a push notification is subscribed if the user allows and when a comment is made a push notification is pushed to the user. The user is identified by the ID of the post as well which is stored on database.
I tried to attach a event handler on Facebook iframe comment box but was thrown with cross origin error.
I was trying webhooks but couldn't work on local host and found I need ngrok to validate my test url. I am posting this to ask is that is my flow even valid or I am seriously misunderstanding the concept. If someone could validate my flow.I will be happy to work on it or I will be just wasting my time.
Here's the link with the Facebook comments applied on post:
https://helpingcow.com/postit/get_share_listings
The facebook have killed "comment.create" event subscriptions.See the answer here to my related question answer.The preferred method is to use webhooks.
As I have already mentioned in question,that I cant use ngrok because it only supports python 3.6 and above and I have 2.7.
But I used localtunnel from npm.It did the work and I have validated my localhost url and test webhooks are now functional.I really dont need the data from the json payload from webhooks but just need a way to get to id of the posted item when the facebook comment is posted but there is no way the client can know about that event unless some server sent events are used.

soundcloud api how get clientId

On page https://developers.soundcloud.com/
Register a new app (Currently unavailable)
A question for developers. How soon will fix the registration of apps?
Is it possible to register my application in manual mode?
I need my clientId!
Apparently they haven't given out new client IDs for months (another user says so).
To answer your question though, no. As Soundcloud says when you attempt to register an app, "...we will no longer be processing API application requests at this time."
I'm trying to use the API too. It seems like we either need to use client IDs belonging to other people, wait an unspecified period of time, or there may be select uses of their API that don't require a client ID.
It depends on what kind of content you want to access.
If you need only public content than you can obtain the CLIENT ID from your AJAX requests made to soundcloud. Open network debugger in your browser and explore AJAX requests you should see some queries made to api.... and the query string should contain client id:
https://api-v2.soundcloud.com/tracks/687584815/playlists_without_albums?offset=85&limit=5&client_id=xxxxxxxxxxxxxxxxxxxx
Hope that helps.

Update user's page in the same way Facebook do

I am developing a web app for a little company. There, for example, we can have users A,B and C that are from a account team. We can have a users D,F,G,H that are form sales team.
Each user has his own private page, like Facebook and they are linked by team, that means in Facebook language, A is friend from B an C, not from D,F,G,H. So when B sends a new thought for the team the others team users (A,C) can see the message.
So my question is, lets say the user A is logged in at his page and user B send a message to the team, how to update the user A and C browser in the same way we see in facebook when we have new posts from our friends?
For the moment I could think about a script, trough AJAX, that could check in the database for the new posts from "myFriends" each 5seconds. But I dont think Facebook do this. Maybe Facebook use HTTP persistent conections http://en.wikipedia.org/wiki/HTTP_persistent_connection . I dont know.
In fact I dont know the best way (best practices) to achieve this results. Idont know even the tags I should use for this question.
Any thought?
Update: I am using php, AJAX, Bootsrap jQuery, MySQL
Estimated.
Whereas want similar functionality to Facebook, if you check the console (with Firebug in my case) you realize that always makes GET requests to the server, both for notifications to Chat. That is, do not use Http Persistent. You could use $.ajax() function of jQuery to make GET Requests, get a JSON and update the elements you want in your page.

Twilio How to collect incoming SMS messages using .net efficiently

I created an application in VB.net that ties into a scheduling software. It keeps our employees up to date by sending them SMS updates. Employees can reply back to us. Sending messages works great. The application uses the Rest API to connect to Twilio. I can also get a list of incoming messages but I can't seem to get it in a way that works well for me.
Currently my application checks if there are new messages every 5 minutes. The application gets the messages list (with filter DateSent>=today) and then loops through the messages and copies the new ones into our scheduling database.
Is it possible to do a more efficient data pull for new SMS messages using VB.net only? Can I include a time filter in addition to current filter DateSent>=today to limit the result set? Any suggestions? (I don't do web coding unfortunately) Thanks.
Twilio evangelist here.
The best way to do this is just to use Twilios web hook to let Twilio proactively tell you each time its received a message. Whats a web hook you ask? Great question.
A webhook is simply an HTTP request that Twilio will make as soon as it received an inbound SMS messages to your Twilio phone number. You normally tell Twilio to make this HTTP request to a URL that you've created and published to a public website, which you can set up easily by using something like ASP.NET. In this scenario you can think of Twilio like a web browser that is making a request to a web application that you have created.
You can tell Twilio what URL it should request by opening the Numbers tab in your Twilio dashboard, and then locating and clicking the phone number you want to configure:
Now you set the URL you want Twilio to request in the Message Request URL field and click Save:
Now when Twilio requests this URL its going to pass a bunch of parameters with its request that you can use in your application logic. You can also do things like return TwiML back to Twilio in response to its HTTP request that tell it to do things like send an SMS right back to the person who just sent one to you.
If you're looking for a bit more of a step by step, the Quickstarts on our website are pretty easy to follow and will walk you through both sending an receiving text messages. The samples are in C# but are pretty straight forward so converting to VB.NET should be easy.
Hope that helps.
I am doing something similar with VB.Net and Twilio. My solution was to put up an Azure web site and an Azure SQL Database (the two can talk to each other). I set up my Twlio to call an .ashx asp.net web page on my Azure web site. Inside of that web page I have code that reads the incoming text message and saves it to my Azure SQL Database.
Works great, but my problem is the Azure database is in "the cloud" and my app\database that sends the original SMS is on mylocal network. Not sure how to cross that divide... (I should add that my local app can read the Azure SQL database, but seems ugly to have to call out to the Azure to get data. Would have preferred to have just saved it in my local db to begin with.)
Probably not a very helpful post, but maybe give you some architectural ideas. If you want to see my .ashx page just let me know.