I've setup the 3 item webhooks (create, update & delete) so I can sync and log some data on an external service.
They all seem to work as inteded, except for the item.update, which doesn't trigger when a file is uploaded. It triggers when I change another field, but not when only uploading a file and then saving.
I've searched around but haven't found anything on the problem. Is it a setting I'm missing or doesn't the Podio API support this usecase?
In Podio an item and a file are two distinct entities. The behavior you are experiencing is as expected. The item update webhook will only be called when attributes of the item are changed; not when a file is uploaded and associated with an item. If you want to execute a webhook on a file update you'll have to set that up as well.
see 'file.change' hook
https://developers.podio.com/doc/hooks
Related
I am making a form for candidates to submit recruitment information as shown below.... And the basic information is stored in the candidate information table and the CV file will be saved in the archive of Strapi CMS, Question The problem I am facing is that I want to get the file link after I push it to the repository and put it in the candidate dashboard
The general pattern is that your backend should return an id or url after you post your entitiy. You would then use this returned id to get, update, or delete your entity.
The use of an asynchronous promise is typically used for the initial post, and when resolved with the id, you would update your client dashboard.
I was trying out the graph APIs and was looking at /delta call, I was not able to use it to identify if a permission for an item had changed?
Is there a smart way to do it?
I am referring to these permissions, I can modify them through SharePoint site or using the ms graph API endpoints. Based on my understanding sharing also involves modifications to them and is just one of the usecase.
With the existing Graph APIs, there is no straight forward way of tracking permission changes(or any other change for that matter). The delta API should tell you that something has changed for an item and that your app needs to sync it. Here are the steps you can try:
Create an item in the drive (document library).
Call delta api and note the value of odata.deltaLink.
Share the item with someone(or remove permissions from the item).
Call delta api again using the deltaLink value you saved earlier.
The response will contain the item whose permissions were modified after the first call to delta api. Unless your app persisted item permissions, and then compared the permissions before and after the item was synced, there is no good answer at this point.
I'm looking to use AtTask's API to update or create a custom field (ie. assign a custom ID apart from AtTask's auto-generated id) whenever a project is created through the web app. But I have not found anything about handling events in the API documentation.
I'm able to retrieve/edit project fields when issuing a request by ID or some other search parameter.
But I'm having trouble finding ways to edit project fields on some event like 'project created'.
One way I can think of is to have my script periodically search for new projects based on project metadata and edit projects that way, but there must be a better solution I probably missed.
Thanks in advance!
UPDATE:
It seems 'AtTask event subscriptions' was what I was looking for. At the time of the post below (12/2013), due to scalability issues, AtTask has turned this feature turned off with no ETA on resolving the issue. See here: Does AtTask event subscription work?
Any updates would be appreciated.
You are correct the AtTask API does not currently support events. The easiest thing to do is to just poll the system for updates using the search. You could also monitor an email address for emails that are sent upon project creation. The email will contain the project/task/issue ID that you can use to update events.
I want to fetch the events related to my dropbox like I can see here , means I want to get when a particular file is added, changed, moved, deleted or renamed and by which user.
I have looked into the Webhooks docs. The webhook docs states the the response it sends to the callback url contails the userids, with which I can update the directory listing based on the webhook response for the user by calling the /delta.
But with it I cannot tell if there is an operation made for a file like a particular file has been renamed or deleted as since if I rename a file fro abc to xyz. If I get a response then I will look for the changes related to the file xyz which I will not find in my existing database so logically I will be making the events as deleted abc and added xyz, where as the reality is renamed abc to xyz.
It will be really grateful if you can help me regarding this.
There's no real way to detect a rename (versus a delete and an add) via the Dropbox API. You can use heuristics (like whether the new file has the same contents as the old file and was created around the same time as the old file was deleted), but those are just going to be guesses with varying levels of accuracy.
Also, there's currently no way via the API to see which user modified a file in a shared folder.
UPDATE: The Core API now includes (in beta) the ability to see who last modified a file in a shared folder. See https://www.dropbox.com/developers/blog/101/new-in-beta-shared-folder-metadata.
A file rename is reported as DeletedMetadata followed by a FileMetadata for the file.
What is annoying is that DeletedMetadata do not contain the file .id attribute, only .name and .path, while FileMetadata include all attributes (.id same as before any deletions/renames, updated .name and .path).
So you should have a local mapping connecting names/paths and IDs in order to know which file got deleted (when only DeletedMetadata is received) or renamed (when both DeletedMetadata and FileMetadata are received).
Any event-receiver for share point library multiple document upload event? I am trying to update some information at that time of uploading multiple doc in library.I don't have any clue.
You need to catch the ItemAdded event that is triggered automatically each time you upload a file to SharePoint. There are templates for SharePoint Event Receivers within Visual Studio itself (New Project > SharePoint > Event Receivers).
The wizard will guide you through the creation of the solution - including which events you would like to handle. Once created, you will see empty event receivers in your solution where you can add the logic to do whatever you want it to do. The 'properties' object that is passed to each event receiver contains all necessary information regarding the files you've uploaded.
This link describes nicely the function of each event that document libraries fire.
If you're after a relatively in-depth guide on the subject, have a look here.
The alternative method would be to use SharePoint Designer to create a SharePoint Workflow that is triggered upon item upload - although this is probably the more straightforward method, it ultimately results in a less customisable solution.
With regards to multiple uploads at the same time, SharePoint event receivers (as far as I'm aware) are in the context of a single item (i.e. one file uploaded), so I would probably either:
Query the document library/database to find items with the same 'DateCreated' values
Use a database to keep a record of uploaded files, log the upload times and file names and then perform actions based upon matching records.