We have an EchoSign account with lots of documents in it. We now need to retrieve the documents from another application and would like to use the SOAP or REST API for it. I have an API key and managed to get the SOAP API working. Unfortunately I did not find a way do retrieve documents by their name? The creator of the documents did not provide an externalID.
I got some responses on this issue from Adobe support:
The external ID needs to be set at the time of creating the documents, and cannot be set later on.
Only way to get a document by name is to use the getUsersInAccount request to retrieve a set of all users, then use the getUserDocuments request for each user, then scan the names in the DocumentsListItems and finally retrieve the document using the documentKey.
Related
I have a firestore database with documents /users/{userId}/public/doc, but the pseudo-document users/{userId} actually has no fields of its own. In the web-based firebase console, these pseudo-documents list - but are shown gray-out in an italic font, probably to signify that they are missing.
However, I'm unable to list these pseudo-documents programmatically either through Python's firebase_admin, or firebase CLI tools.
So, how can you actually list items in shallow collections?
Bear in mind that the Firebase console does not necessarily have to use the operations provided by the public javascript client SDK to populate its screen. For example, it could be calling out to a backend that uses the nodejs (or equivalent) SDK that provides a listDocuments() API that:
Retrieves the list of documents in this collection.
The document references returned may include references to "missing
documents", i.e. document locations that have no document present but
which contain subcollections with documents.
So, you are certainly free to do the same in your app, assuming you have a backend that can use this API.
Since there is no document at /users/{userId}, it won't show up in queries on /users. The Firestore console merely shows the userId, so that it can show the subcollection(s) you have under it.
The only way your client-side code can find out the existence of the userId path, is by querying the subcollection and then traversing the path from that DocumentSnapshot back up. This is a pretty kludgy workaround though, so I'd recommend always creating the userId document(s) if your use-case depends on being able to read them from /users later.
I am trying to write a custom admin for my firebase web application. I did check the api docs and I of course checked stackoverflow also. In theory, of course this is possible, but afaik, firestore does not appear to offer an api for this purpose. But I may be wrong.
Firestore is a schemaless database. This means it doesn't have a schema for the entire database, but it does of course have type information for the fields in a specific document.
To determine the type of a field, you have to get the document from database, get the field from the document snapshot (Android, iOS, Web), and then use the type system of your platform to detect the type.
I have an app created with Firebase real-time database and I've created a few users, all with REST methods found here: https://firebase.google.com/docs/reference/rest/auth/
I can get the user info for the current user, but I would like to have a REST endpoint to fetch all the users (UID, email, displayPhoto, name, etc) or at least a user by UID. I haven't found this method in the link above.
I know that there is an SDK to do that (https://firebase.google.com/docs/auth/admin/manage-users), but I would like to do this with REST since the full app is using REST.
Does anybody know if this is possible and has the rest endpoint?
Thank you!
There is no public REST API to get a list of all users. The reason for this is that getting a list of users is considered a sensitive operation, and allowing that from client-side code would be risky.
The common way to implement your use-case is to build your own endpoint, either on a server you already control, or with Cloud Functions. There you can use the Admin SDK to get the list of users, and then return that to your caller. Make sure to limit what data you return and to properly secure that endpoint though, as otherwise you'll be putting your user's information at risk.
I have a server that needs to receive real time updates from Firebase, for multiple users, where each user grants Oauth access to his Firebase data to my app.
My server is implemented using Firebase REST Streaming, based on Server Sent Events.
I need to know if there is a way to multiplex Firebase data pertaining to multiple users on a single stream.
I would like to be able to set up the stream with Oauth tokens pertaining to multiple users, and to subsequently receive real time updates pertaining to the multiple users on the same stream.
Otherwise, it seems that I need to maintain a separate stream per Oauth token, which seems to be non-scalable.
I think Twitter have a Site Streams feature like what I am looking for in their API, implemented via an envelope that indicates the user the message is targetted to.
Does Firebase support anything similar?
A single Firebase REST call will only monitor a single node. E.g.
curl 'https://samplechat.firebaseio-demo.com/users/jack/name.json'
You can control what data is returned from under that node with the orderBy, startAt,endAtandlimitTo...` parameters. E.g.
curl 'https://samplechat.firebaseio-demo.com/users/.json?orderBy="name"&startAt="Jack"'
There is no way to have a single REST request return data from different nodes/nodesets. So unless you find a way to gather all data you want to return under single node, where it can be returned by a single set of query parameters (orderBy, etc), you will have to execute multiple REST requests to get your data.
Note that the SDKs that Firebase provides internally use a web-socket protocol, so are not impacted by this limitation. If an SDK is available for your server-side language (e.g. node.js, Java), you could solve it by using that one.
I would like to know how to send a data to a specific collection into running Solr instance (actually into running SolrCloud instance).
I've started a SolrCloud instance with a bunch of hand-made collections (using SolrCloud Collections REST API) and hence wanted to send some data to a specific collection in order to easily distinct one sort of data from another. Unfortunately I didn't find a way to do that..
It it possible? If it is than how?
The collection is part of the URL you're using when querying any server, usually located under http://localhost:8983/solr/<collection name>/. If you're querying the products collection to retrieve all documents, the url would be http://localhost:8983/solr/products/select?q=*:*. The same goes for updating a collection, POST your content to http://localhost:8983/solr/products/update.
Replace localhost:8983 with one of your own server host/port combinations.
You can also see further examples in the Getting Started with Solr Cloud tutorial.