Giter VIP home page Giter VIP logo

api's People

Contributors

buffaloluk7 avatar chad avatar crispgm avatar dabio avatar damirault avatar daniel-marschner avatar derjochen avatar duncan avatar ericyahhh avatar gdiab avatar hechen0 avatar lvivski avatar netroy avatar passuf avatar prayagverma avatar rotev avatar schlubbi avatar tblindaruk avatar vsmart avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

api's Issues

socket connection

How can I use the sockets created in wunderlist sdk js? In IE11, the socket.readyState is always 0 and in Chrome it is 3, so it seems like the socket is never truly open. Any help would be appreciated.

From wunderlist.sdk.js:
'isConnected': function () {

var socket = this.socket;
return !!(socket && socket.readyState === 1);

},

Thanks you,
Jason

Bad Request on retrieving a Note for a specific task in PHP

Trying to get a note from a task via PHP, but cannot get it to work.
Adding tasks, updating tasks, retrieving lists, and adding a note works flawlessly.

But when is want to get (retrieve) a note for a specific task, I get a 400-Bad-Request.

//result of var_dump($context)
/*
array(1) {
  ["http"]=>
  array(3) {
    ["method"]=>
    string(3) "GET"
    ["header"]=>
    string(178) "X-Client-ID: /* XXXXXMY-CLIENT-IDXXXXX */
X-Access-Token: /* XXXXXXMY-ACCESS-TOKENXXXX */ 
Content-Type: application/json; charset=utf-8
Content-Length: 22"
    ["content"]=>
    string(22) "{"task_id":1234567890}"
  }
}
*/

then i use

        $url = 'https://a.wunderlist.com/api/v1/notes';
        $result = file_get_contents($url, false, stream_context_create($context));
        return json_decode($result, true);

It returns:

Warning:  file_get_contents(https://a.wunderlist.com/api/v1/notes): failed to open stream: 
HTTP request failed! HTTP/1.1 400 Bad Request
 in /home/.../public_html/wunderlist/wunderlist.php on line 90

Something i'm missing?

Webhooks not received for certain domains

I played around with webhooks for some time and created a small application which I deployed on heroku, everything worked liked expected. When I moved the application to my own server, I did not receive the webhooks anymore. I am still able to communicate with the API and are able to create and receive new webhooks e.g. with a URL pointing to a Runscope Bucket, but if I add my own domain as URL, the webhook is created, but I do not receive any call when updating the corresponding list.

If I forward the request with Runscope, my application receives and handles the webhook, so my endpoint should be working correctly. According to my server logs there are no https or http calls coming from wunderlist, even though there are webhooks registered with the correct URL pointing to my application.

Now I am wondering if a domain first needs to be white listed or similar before receiving webhooks, since heroku.com and runscope.com are well known services but my domain is of course not.

Thanks a lot for your help!

edit
I managed to receive webhooks when I change the URL to http:// instead of https://. Is it possible that you do not trust SSL certificates from StartSSL?

Find out if a user is Pro?

Is there a way to find out if a user has a Pro account or not? I can't see anything on the user endpoint.

API via PHP

Hi,
i'm tryin to access the Wunderlist-API via PHP.
I modify an existing PHP-Class: https://github.com/jeroendesloovere/wunderlist-php-api

I do an Authenticate-Call via PHP/Curl and i'm gettin a access-token.
But when i try to get my lists, i'm just gettin an error for https://a.wunderlist.com/api/v1/lists :
_{"error":{"type":"server_error","translation_key":"api_error_unknown","message":"An unknown server error occurred","authentication":["missing"]}}
_

I set the accees-token and the Client-ID in the header.

Is there any PHP-Api which i can use instead?
Or is the anyone, who can help?
Would be awesome - Thank You!

Update Reminder Task Error

Hello, i want update reminder for task in Wunderlist. Use Wunderlist Api:

curl -H "Content-Type: application/json" -H "X-Access-Token: xxx" -H "X-Client-ID: xxx" a.wunderlist.com/api/v1/reminders/12345 -X PATCH -d '{"revision":1,"date":"2015-11-25T16:49:23"}'

and respone:

{"error":{"type":"not_found","translation_key":"api_error_not_found","message":"The resource you requested could not be found."}}

Remove Member from a List doesn't work

Hi,

please give an example of https://github.com/wunderlist/api/blob/master/endpoints/membership.md#remove-a-member-from-a-list

becase I think this method doesn't work properly. Flow:

I do request:
curl -A '' -v -X DELETE -H 'Content-Type: application/json' -H 'X-Access-Token: 94c0f5ad8a3cb4a056d25f5a63ad3d4101fa7dbcdeb78ef800e4b56776e6' -H 'X-Client-ID: 571f65134fef345aaedb' -d '{"revision":3}' https://a.wunderlist.com/api/v1/memberships/123

and server returns:
{"error":{"type":"missing_parameter","translation_key":"api_error_missing_params","message":"Missing parameter.","revision":["required"]}}

Best regards,
Maciej

Open Authentication Not Working

Until a few days ago I could provide a port number as part of the redirect_ui parameter. As of today this i not working. I have a local desktop application that depends on being able to redirect the authentication back to http://loalhost:8094/oauth.

This was again working until recently and it appears that your server side redirect is removing the port information from the redirect.

How can I get back this functionality?

Add reference to get access token on the my apps page

As suggested by Eric Mutta in https://disqus.com/home/discussion/wunderlistdeveloper/wunderlist_developer_38/#comment-2164292599

You should probably update these docs to indicate that one can get the Access Token on the MY APPS page of Wunderlist.com - this is SOOOO MUCH EASIER than doing the OAuth dance: a user just logs in, generates the access token then pastes it into the relevant app (in my case a client-side desktop app with no server-side component to supply the redirect URL).

Move task to another list

The PATCH a.wunderlist.com/api/v1/tasks/:id doesn't seem to accept a list_id parameter.

Is there a (proper) way to move a task to another list, without deleting it from one list and re-creating in another?

not worked "starred" when get/create a task on a list.

Hi

I tried APIs, and found

  • GET a.wunderlist.com/api/v1/tasks

All "starred" items in returned JSON were every time false.

  • POST a.wunderlist.com/api/v1/tasks

Set true for "starred", however ignored every time (not starred).

Hiro

Try a upload, cant get it work.

Hi there, i'm trying to use the upload api but couldnt get it worked.
Can someone help me. My code looks now like this:
Set FILE=C:\Users\..\Documents\..\tmp\tmp.jpg Set CLIENT-ID=.. Set OAUTH-TOKEN=.. call :setsize %FILE% curl -h "X-Access-Token: %OAUTH-TOKEN%" -H "X-Client-ID: %CLIENT-ID%" -H "file_name: tmp.jpg" -h "file_size: %SIZE%" -d "@%FILE%" -H "Content-Type: application/json" -H "content_type: image/jpg" -X POST https://a.wunderlist.com/api/v1/uploads

Tried everything I know, but nothing worked, always a 400 :(.
Using curl on a windows desktop.

Activity or History API?

Hi,

As part of the integration with www.gotdone.me (a time tracking assistant), I'm looking for a way to display the activity log of a user.

Typically, this would include things like the user...

  • ... completing a todo
  • ... updating a todo
  • ... deleting a todo
  • ... creating a todo

Is this something that's currently possible? Or would the best approach perhaps be to look at the webhook API?

Redirect url only accepts real url and not deeplinking schme

Hey,
I am using your api to connect my android app users. the problem is i want to deeplink them back to my app once auth is done but redirect link can only be a real link "http" or "https" and not some deeplinking scheme used only by me.
Do you have a solution for android integration?
Thanks

Get folder that contains the list

I need to be able to figure out which folder a list is in. When using the /lists or /lists/:id endpoint, the returned data does not include a folder property. I see that I can query /folders and iterate over the folders to figure out which one contains the list.

My question is, am I missing something in the API that makes it easier to find a list's folder? If not, would it be possible to add the folder property to data returned by the /lists endpoint?

Delete task issue

Hello, im using your API in my application and i have got an issue. All the API commands work fine, except the one with DELETE. After exactly 3 deletes, im getting stuck with timeout errors. Is there any limits on delete tasks? If yes: is there any way to avoid them? Thanks.

Allow API operations to be performed as if by a particular user

In our integration of Wunderlist with HipChat we allow a task to be completed by a / command -- /wunderlist complete .

At the point at which we make the REST call to Wunderlist we may be able to map the HipChat user to a Wunderlist user, but as far as I can tell there is no way to ask Wunderlist to consider the command as coming from a particular user -- just the user who originally authorised the integration's access to Wunderlist.

That is, I'd like the 'client.user_id' in the resulting webhook call to match what I gave. (I could record some state and match it up when I get the webhook, but I'd prefer a simpler solution)

Am I missing a way to do this?

Invalid token

On sending invalid token, getting error 400 "BadRequest". Is it supposed to be so?
Also, what is lifetime for token and what kind of error i should expect on try using expired one?
Thanks.

Undocumented Wunderlist delete task-comment endpoint

http://stackoverflow.com/questions/32878211/undocumented-wunderlist-delete-task-comment-endpoint#new-answer

There appears to be an endpoint on the Wunderlist API for deleting a task-comment which does not appear in the official docs

Existing task comments can be deleted by sending a DELETE request to it, e.g. :

curl
-H "X-Access-Token: $WL_ACCESS_TOKEN"
-H "X-Client-ID: $WL_CLIENT_ID"
-XDELETE
https://a.wunderlist.com/api/v1/task_comments/12345?revision=1
Assuming the data is valid, this returns with HTTP 204.

Is this endpoint supported?

Delay in revision update for sub-objects of to-dos

Hi,

This is something which is hampering our development for quite some time now, so I wanted to raise an issue for this again. We are syncing tasks using the API, and we stumbled upon the following.

When creating a sub-object of a to-do (like a subtask), the revision of the to-do is updated in a non-synchronous manner. Our sync logic syncs changes to Wunderlist, and afterwards retrieves the to-do once again, to have the correct newest revision (we don't want to / can't calculate the increase locally, since this might change). In our JS code this looks something like this:

function testConcurrency() {
    //Get current version of to-do 1312766152
    wunderlistGetData(wunderlist.baseUrl + '/tasks/1312766152')
    .then(function (todo) {
        console.log('Original Revision:' + todo.revision);
        //Add a new subtask
        return wunderlistAjaxData(wunderlist.baseUrl + '/subtasks', yasoon.ajaxMethod.Post, JSON.stringify({ task_id: 1312766152, title: 'Subtask' + new Date().getTime() }));
    })
    .then(function (subtask) {
        console.log('Created Subtask: ', subtask);
        //Retrieve the to-do again
        return wunderlistGetData(wunderlist.baseUrl + '/tasks/1312766152');
    })
    .then(function (newTodo) {
        //Will still print the old revision
        console.log('New Todo Revision: ' + newTodo.revision);
    });
}

We are currently introducing a delay of ~1 second to cope with that behavior, but that still seems very hacky. Could you check if there is the possibility to fix this?

Thanks
Tobi

Document how to tell whether a list is shared

I'm trying to figure out how to get the most typical set of tasks owned by or assigned to a user. That means all tasks in un-shared lists and tasks assigned to the user in shared lists.

As of this writing, the example reply for the lists API call doesn't cover owner_type, which seems to indicate whether a list is shared. The example response for the tasks API call mentions assignee_id, but doesn't describe the meaning of a nil value or the key not being present at all. After some investigation, I see that assignee_id is not present in some cases, and I'm currently inferring that means that it's in an un-shared list. That's just a guess, though.

Given that there's no API call to request all tasks owned by or assigned to the API key owner, the next best thing would be documenting how to tell the sharing status of a list. Memberships shows ownership, but doesn't seem to show enough to infer task ownership for cases where assignee_id is not present or nil.

Are there any examples for the delete task api?

i am just using cygwin curl, and i have been able to create and update tasks with similar curls, but the delete task method just returns a missing parameter (revision). I have been sending the revision the same way as the other methods i have working... The revision id is correct.

Sample curl...
curl -H "Content-Type: application/json" -H "X-Access-Token: secret" -H "X-Client-ID: nottelling" -X DELETE -d '{"revision": 2}' https://a.wunderlist.com/api/v1/tasks/123

spits back a 400
{"error":{"type":"missing_parameter","translation_key":"api_error_missing_params","message":"Missing parameter.","revision":["required"]}}

Webhooks documentation is incomplete

The documentation for webhooks doesn't list which actions trigger a webhook call. For instance, my webhook seems to get called in these cases (and there may be more, but these are the ones I've observed):

  • a task is created on a list
  • a subtask is added to a task on a list
  • a note is added to a task on the list
  • the task title is modified
  • the task is marked as completed

However, there is no call for these actions:

  • the tasks on the list are reordered

Allow alternate callback ports on localhost

A common use case for end-user authentication in apps is establishing a single-request web server to receive the authentication token from the Wunderlist API authorization. For example, a developer might have the server listen on port 6200 providing a callback URL such as http://localhost:6200 in the Wunderlist config. This may not be possible on every platform, but where it is possible, it is an extremely convenient way to access the token after authentication.

However, it is impossible to guarantee that a specific predetermined port number will be available on all end-user machines. For example, if another application is already listening on port 6200, the developer may advance the port number to 6201, 6300, 7200, etc. until an open port is discovered. Currently this is of no use with the Wunderlist API since the callback hostname and port must match exactly.

It would be excellent to be able to specify http://localhost as the callback in the API and then respond with the actual callback url specified in the request provided that it is localhost or some port on localhost. This would maintain the ability to keep the token delivery directly between Wunderlist and the end-user machine while supporting cases where the default port is in use.

Dynamic ports in OAuth callbacks are not unprecedented; the Google OAuth 2.0 API has a special provision for localhost allowing any port.

Workaround

It would be possible to set up a public static URL to receive the token in the callback and then in turn make a request to localhost (CORS, JSONP script tag, img tag, or some other means that would allow notification of success/failure without browser security issues). This would require a known sequence of ports that the application would attempt to open. If localhost:6200 fails, try localhost:6201.

This is certainly an inferior approach as it requires more work and injects a middleman receiving and then transmitting the token. Additionally, the services listening on those in-use ports may not be robust enough to handle the unexpected data or may even return a successful response before the algorithm hits the actual token handling server.

localhost only?

Hopefully an application server under the developer's control is capable of receiving tokens on a dedicated port. It is easily justifiable that outside of localhost (which may also be specified as a loopback IP 127.0.0.1—technically 127.0.0.0/8—on IPv4 and ::1 on IPv6), allowing any port within the given public hostname is quite dangerous.

No webhook call when deleting a task

I'm successfully getting other webhook events -- including deleting files, subtasks and comment, but when I delete a task I don't see an event.

Bug deleting notes

Per Kevin (https://disqus.com/by/mieubrisse/)

  1. It looks like there's a bug with deleting notes: if I call the DELETE endpoint once, it replaces the note with a new, empty note with a new ID and revision 1. If I call the DELETE endpoint on that, the note is finally deleted.
  2. Notes don't seem to get the created_at, created_by_id, or created_by_request_id flags that Tasks, Lists, Subtasks, and so on do. Is this intentional?

EDIT: It looks like these two bugs are tied together. Using the creation endpoint yields a note with no creation information, but the empty note that replaces my note when I call the DELETE endpoint does have a 'created_by_request_id' attribute.

User update endpoint not documented

(robdimsdale https://disqus.com/by/robdimsdale/) reports

There appears to be an endpoint for updating the user which does not appear on this page. User information can be updated by sending a PUT request to it, e.g. :

curl \
-H "X-Access-Token: $WL_ACCESS_TOKEN" \
-H "X-Client-ID: $WL_CLIENT_ID" \
-H "Content-Type: application/json" \
-XPUT -d '{"revision":1234,"name":"some-name"}' \
https://a.wunderlist.com/api/v...

Assuming the data is valid, this returns with HTTP 200.

Is this endpoint supported?

Authorization issue if user already granted access

I have a problem with the authorization concept described here: https://developer.wunderlist.com/documentation/concepts/authorization
I.e. after granting access to my application once, all other subsequent calls to the URL from "1" (https://www.wunderlist.com/oauth/authorize?client_id=ID&redirect_uri=URL&state=RANDOM) return a "403 - Forbidden".

  1. In a dev environment I have the problem that I granted access to the app but did not record the returned code and now I can't test this further (see also https://twitter.com/alpipego/status/660092047664275456)
  2. After releasing my app to the public, if a user that has already authorized it and clicks on the button again, they get a "FORBIDDEN" page. How can I prevent this?

Issue in rest api

I am unable to get user of a list (who already accepted),with this call(Fetch the users this user can access iam querying with listid)
Iam geeting internal server error - 500
Without listid it is working fine,but I want the list of user for a particular task list

Reminder recurrence

Can I set recurring reminders, for example if I have a task which I need to perform daily, and I need to add daily reminders?

New Task Permission Error

When I try to create a new task I get the following response:

{"error":{"type":"permission_error","translation_key":"api_error_permission_error","message":"You've not enough permissions.","permissions":"failed"}}

Status code is 404.

Here's the code that send the request (Google apps script):

function addTask(title) {
  var url = 'https://a.wunderlist.com/api/v1/tasks';
  var service = getWunderlistService();
  var response = UrlFetchApp.fetch(url, {
    headers: {
      'X-Access-Token': service.getAccessToken(),
      'X-Client-ID': clientId,
      'Content-Type': 'application/json'
    },
    method: 'post',
    payload: JSON.stringify({
      list_id: 137315112,
      title: title
    })
  });
  var result = JSON.parse(response.getContentText());
  Logger.log(response.getContentText());
}

Any ideas on what I'm doing wrong?

Add task to top of list

When I add a new task via the web api it goes on the bottom of the list. When I add a new task via the UI it goes on the top of the list. I wish that the web api behaved like the UI.

Thanks for the awesome product!

delay loading info

Hi, i implemented wunderlist api with php and everythings work fine. Excepting the response time when loading tasks or list or any action to get data from api it take around 1 minute.Does it properly response time? Any suggestion would be appreciate.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.