Dropbox API: find the members of single shared file - dropbox

My question is in regard to Dropbox file sharing API.
Since June 2016 file can be shared with specific groups and users and external emails. Until now, specific sharing happened on the folder level.
Is there any way to retrieve the file shared members from the API? I cannot find this answer in the documentation.
Today, in my application, I am doing it for folders by calling https://api.dropboxapi.com/2/sharing/list_folder_members. From the response I extract the groups and the shared members account ids.
To get the information about the accounts (display name and email addresses) I am calling https://api.dropboxapi.com/2/users/get_account_batch with the ids.

It's currently not possible to get the members of a single shared file, but I'll be sure to pass this along as a feature request.
Edit: this is now available via /list_file_members:
https://www.dropbox.com/developers/documentation/http/documentation#sharing-list_file_members
https://www.dropbox.com/developers/documentation/http/documentation#sharing-list_file_members-continue
https://www.dropbox.com/developers/documentation/http/documentation#sharing-list_file_members-batch

Related

Google API to track document view and edits - google sheets

I maintain ~450 unique Google Sheets for all of the teachers in our school district (updated nightly using a python script). For auditing and reporting purposes I would like to track opens and edits of these Sheets.
I've found the Changes resource that should be able to help me identify edits, but that's only getting me halfway there. Is there any Drive API Resource out there that will identify page views (count, most recent) by user?
Track Google Drive document changes using the Reports API from the Admin SDK.
What you are trying to do can be achieved using the Reports API.You can have a list of all the file IDs and use the activities.list method and set the userKey parameter to "all" so that you get the activities from any user, or set a specific email address or user ID to get the information from a specific user only.
The applicationName parameter needs to be set to "drive" so that it recognizes that it is the Google Drives report the one you are accessing, and then for the filters parameter you can use for example "doc_id==12345" (replace 12345 with the file ID) to get the activity report from a specific document.
An example:
Note: Be aware that this can only pull information from the last 6 months.

Missing MailHeader fields when accessing IUploadMailData in custom UploadOperationHandler (harmon.ie outlook plugin)

I am trying to access the "To"-Field in the mail header while hooking into the UploadOperation of an email item in the Harmon.ie Outlook addin (to rename the file using some defaults when uploading to sharepoint).
For some reason the only header fields I get from the uploaded item are Received, Date and From.
What I currently do is iterating the IUploadItemData elements in the IWrappedList inside the onBeforeUpload handler.
Then checking for items of type IUploadMailItemData and trying to access their MetaDataValue fields using the Harmonie.SDK.MailHeader class constants as keys. But as already mentioned I only get the 3 fields Received, Date and From.
What am I doing wrong? May I load the other header fields somehow too?
Are you customer?
I am asking because our SDK is only accessible from the Enterprise edition (not the free edition, our forum is for users running the free edition).
If you are customer, please disclose the name of your company and send a support request to support#harmon.ie
----- Jean

How can I deep link into QuickBooks Online with results from API calls that don't include the txnId

QuickBooks Online (QBO) uses a URL format like qbo.intuit.com/app/timeactivity?txnId=123 to point to, in this example, a TimeActivity.
However, in the API, resources are referenced by entityId (returned as just Id when querying via the TimeActivity API), which is different from txnId.
In my time tracking web app, I have a feature that exports time to QBO as TimeActivities. I'd like to provide users with direct links from the time entered in my app to the corresponding TimeActivity in QBO—is there any way to do so?
The answer to this is that it's not currently possible because there's multiple base URLs (I think they call them "realms") in use for QuickBooks Online (qbo.intuit.com is only one of them). Because you do not receive this information as part of linking to QBO via OAuth, there's unfortunately no way to construct proper links.
Yes, when creating a successful TimeActivity you will receive back an Id, which I assume you are persisting.
That Id can be used to query QBO in a simple GET request.
<baseURL>/company/{companyID}/timeactivity/{timeactivityId}

Sharepoint site for external customers

I have an SP site where employees submit their reports. A report is submitted with Company information attached as metadata in a sharepoint library.
For a company there is a customer attached with a separate login in our AD and the customers all belongs to a separate user group.
I want to create a separate site where their customers can login and read their reports
My first problem is to share a library between sites so that the customers can access the reports submitted in our internal site.
Second problem is to create a connection between the company and the customer login so i can filter the reports so that the customer only sees their report.
How would you go about doing this?
From what I understand of this scenario, I would handle report sharing with customers as a content deployment exercise. Not sure whether you want one site for all customers from all companies to log in or if you'd want to create a site for each company. Custom development of either event receivers or workflow on the internal list would handle 'publication' (i.e. copying the document to the client-accessible list) of a report once uploaded (and potentially - approved).
If there is one common site, you would need to factor in item level permission setting based on the company metadata. If you have a site for each company, security should be a whole lot easier.
If your goal is only to share reports then going with separate site for customer login or with site per customer is IMHO huge overkill and almost useless.
Solution to your problem is quite easy: One site with separate Document Library for each customer. There is not much difference between 1 customer = 1 site and 1 customer = 1 library except for simple scenario I found that maintaining multiple libraries on single site is much more easier then maintaining multiple sites with basically one library on it. However if you plan to have more interaction and 'sharing' with customers (now or in future) then separate site for each customer is a option.
Steps:
Define custom Document Content Type on site level holding all metadata your report needs
Create Document Library for each customer with this new content type
Define permissions on Document Library level - each customer can access only one designated library (need to have read rights on site)
Your employees need to upload report to customer library so that customer can see it. If permissions are set correctly then customer can see only designated library and you can easily set administrators (can see all) and superusers (can see more then one library/customer).
Having all reports in single site will simplify developing process for additional business logic by using custom workflows and/or receivers. Also searching and aggregation for administrator or super user is much easier.

Bloomberg API: How to get the list of Pricing Sources?

It's possible to get current pricing source for a security (PRICING_SOURCE field). Is there any field that returns the list of all available pricing sources for defined security?
Thank you.
No - it's not currently possible.
Any fields (i.e. visible in FLDS in the terminal) are accessible via the API - such as the PRICING_SOURCE field in the question.
However, there is currently no functionality like the terminal commands PCS or ALLQ in the API at the moment. There is a request for this functionality with the Bloomberg programmers, and you can contact the Bbg helpdesk to have yourself added to the request to be informed when it becomes available.
Look up your pcs enablements, find the one you want to use /then lock down the eid # from the respective ctrb page. You can request eid specific prices via api.