SurveyMonkey API: Get shared data link - surveymonkey

I found the SurveyMonkey mobile display quite good. I am trying to better integrate it with my app. In particular, once the survey has been responded to, I want to show the "Results" (analyze page which has graphs of user responses).
One thing I realised is that user can't use the analyze url. One way to allow them to view is to create a "Shared Data Link".
I am wondering how can I do this using the SurveyMonkey API. How can I create a "Shared Data Link" using the API? Is there any other way to show the Analyze Page to users?

Response from Survey Monkey team:
Unfortunately, our API doesn't currently offer any endpoints to generate a shared data page or quickly get the data which is contained within it.

Related

How to retrieve pages filtered by a tag from OneNote API?

Some of my pages have a OneNote Tag in it
https://learn.microsoft.com/en-us/graph/onenote-note-tags
I would like to retrieve only pages that contain a specific tag from a notebook.
Currently, I would need to
Get all the sections from a notebook
Get all the pages from a section
Get all content from pages
check if it contains data-tag="important" (example)
Is there a better way of doing this via the ms graph? (possibly via a combination of expand/filter)
Best
To get the pages in a notebook use the HTTP call below.
https://graph.microsoft.com/v1.0/me/onenote/pages
To compare the data-tag="important" is present in the content or not, it is not possible as of now but if your data is small you can use a work around by calling the below HTTP call and compare it for each page on your end.
https://graph.microsoft.com/v1.0/me/onenote/pages/pageid/content
If you have tons of data, it would be better to raise a Uservoice for this scenario by going to the Microsoft Graph Feedback Forum so that it can be implemented in the future.

Limitations of Qualtrics API

With respect to the Qualtrics API (v3) documentation (https://api.qualtrics.com/docs/overview) there does not appear to be any means to send a GET request through a REST client to get the individual survey responses for a specific survey (I suppose that the developers figured that no would be interested in decoupling the survey results from the admin panel).
The reason why I would like to be able to submit a GET request to get survey results is for real-time data visualization purposes that do not depend on me exporting the data every so often to re-update the visualization. If Qualtrics does not support such a GET request, which service (perhaps SurveyMonkey or its ilk) best facilitates what I'm trying to build? Or do I have to build an entire survey module from scratch? (shudders)
I agree that v3.0 has some big short comings. I have no idea what they are thinking. There should be a way to retrieve a specific response using Response ID.
You can still use v2.5 of the api to do what you want.
SurveyMonkey has a REST API that allows you to fetch all your responses.
You can fetch all your responses by doing:
GET /v3/surveys/<survey_id>/responses
Which will give you a skinny payload (usually IDs only, and maybe a name or title but not in this case).
You can then get a specific response by doing:
GET /v3/responses/<response_id>
You can also fetch all responses as fatter payloads by doing:
GET /v3/surveys/<survey_id>/responses/bulk
Or, depending on your use case, for example if you have some visualization that you want to update in real-time without polling for responses you can set up a webhook.
POST /v3/webhooks
{
"name": "My Response Webhook",
"event_type": "response_completed",
"object_type": "survey",
"object_ids": ["<survey_id1>", "<survey_id2>", ...],
"subscription_url": "https://mycallback.url"
}
Where subscription_url is your callback url, and then whenever any new responses for the defined surveys come in you'll be notified to the subscription_url provided and you can then know to refresh your charts.
I have done that by getting contacts, in every contact there are object of Response history where you can get the information of a survey assigned to a respondents.

SurveyMonkey. Creating my own front-end

Can I create a SurveyMonkey survey, then build the survey's front-end on our intranet, but have the form post to the SurveyMonkey? This will allow me to use their result page and reports, while allowing me to design the page using internal video clips to vote on our intranet for a small user base of 225 users.
There is no ability to post data with the Survey Monkey API. So far, you can only get data: link.
One option may be to use embed which allows you to embed a survey into your website: link.
To add to the answer by philshem, you can embed videos from your intranet in your survey. As long as respondents have access to the video source, you should be able to get exactly what you're looking for. The link on SurveyMonkey's docs site about embedding media is http://help.surveymonkey.com/articles/en_US/kb/How-do-I-add-a-video-or-sound-clip-to-my-survey
The short answer is that you need to have HTML enabled for the survey and use an iFrame to embed the content.

Displaying tweets from multiple users (similar to Embedded Timelines) without twitter-side user lists

I am new to Twitter and need some tips.
I need to display tweet feed from multiple users on some webpage.
The first thing I stumbled upon is Embedded Timelines. It allows to display tweets from list of users but the gotcha is that those lists should be maintained on Twitter-side (i.e. I cannot specify #qwe and #asd only on my side and get timeline without adding those users into list on Twitter-side).
The thing is that list of users that should be included into timeline is dynamic and managing those lists through Twitter API will probably be painful. Not to mention that my website will probably generate tons of those lists and I feel that I will violate some api quotas sooner or later.
So, my question is - am I stuck with using Embedded Timelines that refer some user list on Twitter-side and managing those lists through, say Twitter REST api, or there is a simplier way to do what I want?
It's pretty simple to display tweets for multiple users.
Links to start with
This post explains some of the search queries you can make
This post is a simple library to make requests to the twitter API that 'just works'
Your Query
Okay, so you want multiple users. The endpoint you're looking at using is the search/tweets one: https://api.twitter.com/1.1/search/tweets.json.
The query string uses :from and you can interpolate multiple froms with AND/OR.
An example query for the GET request:
?q=from:user1+OR+from:user2
Read more about the search API queries here.
Your "over-the-quote" issue
This is something you're going to need to figure out yourself - depending on the number of requests you expect to make, and the twitter imposed limits, maybe some sort of caching or saving information when you hit your limit, and only pull back from the cache whilst you're hitting your limit..

How do I know if a specific twitter user is online or not?

How do I know if a specific twitter user is currently online by writing programs? Is there any API or data field in the web page showing this information? Both browsing Twitter webpage and using Twitter app are considered "online".
Although this information is not readily available, you can do a work around. Make use of Twitter's Streaming API: https://dev.twitter.com/docs/streaming-apis/streams/public (have a read through this document).
You'll most likely be using the POST Statuses/filter functionality (read the doc here: https://dev.twitter.com/docs/api/1/post/statuses/filter ), which will give you a JSON object with tweets based on your filters.
Make use of the parameters you'll need to specify in the URL to filter the stream (have a look through this document to learn more about it: https://dev.twitter.com/docs/streaming-apis/parameters ), in your case it'll be the follow parameter. You basically specify the twitter ID of the user you want to follow. Here's a sample JSON result of the streaming API in action https://stream.twitter.com/1/statuses/filter.json?follow=25365536 - this one in particular is following Kim Kardashian. Keep in mind that this will give you:
Tweets created by the user.
Tweets which are retweeted by the user.
Replies to any Tweet created by the user.
Retweets of any Tweet created by the user.
So in order to just stream the tweets of your desired user, you'll have to use a programming language of your choice to parse through the JSON object to find the user that actually sent the tweet (this is a little tricky, you'll have to look through the properties of the JSON object to figure it out). Once you narrow the streaming tweets to just the ones from the user though, you can then have an alert on when new tweets by this user stream and that will tell you if the user is online/using twitter at the moment.
It's not clear what you mean by "online" (browsing twitter.com? Using a Twitter app?), but in any case Twitter doesn't provide such information, thankfully.
I'm afraid such information is limited by Twitter and is not available. However you can put your question on https://dev.twitter.com/discussions and ask its developers. Good Luck
you need get user state first
then filter if around current time
then get ids
they are online
use twitter developer api
I do it for my website

Resources