Microsoft Graph API List Locations - api

Hi I am having trouble finding any way to list locations so I can create an event and add a location to it.
There is a list of known locations that should be available shouldn't there be?
https://graph.microsoft.io/en-us/docs/api-reference/v1.0/resources/location

I'm not sure that listing known locations is available, so we'll need to be creative on this one.
You could get a list of existing calendar events and only select the locations property (what you linked to). If you then filter these client side to remove duplicates, you can get a decent list of known locations. The down side is that if a room is now available but has never been used, it won't appear in this list. Also, this is only for one user so another idea is querying a different (or multiple) calendars. For me, the following snippet returns around 247 unique locations.
https://graph.microsoft.com/v1.0/me/events?$select=location&$top=500
With the Graph JavaScript SDK this looks like:
client
.api('/me/events')
.select('location')
.top(500)
.get((err, res) => {
var locations = res.value
.map((x) => x.location.displayName) //only get the displayName
.filter((v, i, a) => a.indexOf(v) === i) // remove duplicates
});
There's also some existing threads about listing conference rooms.

So We decided not to use the graph API at all. It is not ready I actually cannot believe this is an oversight on Microsoft's part. Any organization's core problem when it gets to SME size is booking a room. We opted to use the Office 365 SDK,ADAL and Outlook and use a convoluted way to solve the problem that involves either checking the calendar or checking your inbox for the room being booked or not. Then we opted to figure out whether the room was busy or not using the preview availability Api.

Related

How do I extract user details for Bloomberg Desktop API connection?

If you type IAM <GO> in the terminal you'll be shown the UserID, UUID, CLID etc.
Is it possible to extract this information through blpapi when using the Desktop API to connect via BBComm? I've seen references to Identity and populating that by sending an AuthorizationRequest but it appears that's only relevant for SAPI/B-PIPE.
To the best of my knowledge and after asking a couple of Bloomberg reps - this isn't possible. The best work around which I've found is: each user creates an EQS screen called their UUID. Add some filtering which causes this screening to return nothing. Then the application, upon start up, requests all possible UUIDs as EQS screens and stops when it doesn't get back an error - that's the UUID.
This is a dirty, dirty hack and, granted, this only works if you have few distinct users using your system. You don't want to ask may users to create such a screen and probably don't want to iterate over thousands of EQS screen names.
There is a "SID report" which is provide together with monthly invoices from Bloomberg which contains the UUIDs for users - this can be used to look up existing users but when setting up a brand new account you have to manually copy this information out of the terminal.

In magento 2, zip code text box to search the store available or not

I am new to Magento.
I want a text box where i can type the zip code and if the store available in that location then i need to show the products of that particular store otherwise we need to show that "the store is not available in particular location".
The following is the example site. i want it as it is.
this site prompts for users zip location .after it will display stores of that particular.
Click on this link to see the working example
how do i do this . Do i need to install a module ?
Follow Some Steps:
You need an entity 'store' that is bound to a geo location.
You need to create a multi select attribute which values are located (using a
source model) with these stores. This way, you can attach a single product to
multiple stores (one to many relation)
Then you need some sort of external API to convert a postcode entered by the
customer to a geo location. I assume the Google Maps API can do this. It would
be best to handle this server side.
Then you need the math to calculate the distance between 2 geo locations in
your database query (probably enough to find on that subject on Google) and
filter your product collection on that.
Once you have the collection you have the power.
The external API will probably have a request threshold so you might have to
pay for that (depending on the traffic).
You need to determine the radius of maximum distance between 2 geo locations.
In a small country like the Netherlands stores could be a couple of km's apart
from each other, whilst in the United States it's not uncommon to have stores
tens or hundreds of km's from each other.
**Best Of Luck For Your Project**

Skype for Business Web SDK - participants object empty

When creating a meeting via the Skype for Business Web SDK, the conversation object contains a participants list which contains objects representing the participant details of that meeting. This is working and we can see all the participants that we would expect.
However when joining a meeting that someone else has created via the Skype for Business Web SDK, the participants list is always empty, despite knowing for a fact that there are other users connected to that meeting.
Is this a bug in the SDK? Any help would be appreciated!
Edit: updating with more info after suggestions
we retrieve the conversation object using the following code (note we are retrieving it via a URI):
app.conversationsManager.getConversationByUri(uri);
Here are the outputs from experimenting with the conversation object:
conversation.participants() returns []
conversation.participants returns function [Collection: 0 items]
conversation.participants.get().then(function(participants) {
console.log(participants)
})
logs Promise {task_ccf0d98018eaf: Task}
getConversationByUri doesn't actually join the meeting. It just retrieves a conversation model. You need to actually start one of the services (conversation.chatService.start(), conversation.audioService.start(), etc) in order to join the meeting. Once you join the meeting the participants collection will get updated with people in the meeting.
There are a few things that could prevent seeing the participants in a conversation/meeting:
Events have not posted indicating who is active
The collection containing participants has not updated (it is lazy loaded)
If you wanted to get the exact count you would be best served by making a request on the collection similar to:
conv.participants.get().then(function (participants) {
// participants is an array of currently active persons in the conversation/meeting
});
You could also keep track locally by listening to the added/removed events on the participants collection.
conv.participants.added(function (person) {
// add to local list...
});
conv.participants.removed(function (person) {
// remove from local list...
});
If this is not the case it would be interesting to know what code you are using to observe the empty list of participants.

Does Deezer APIs track method return unreliable results?

Here are some example (setting italy as country):
http://api.deezer.com/2.0/track/2566127 says the track is not readable, but I can play it both from deezer.com and from an API app, the same for http://api.deezer.com/2.0/track/7960580
http://api.deezer.com/2.0/track/3259613 says the track is not readable, it is actually not existent (and usually for not existent track the API return error)
Some other times a track (which used to exist) results as not existent (e.g. http://api.deezer.com/2.0/track/17737916 Beatles - Till There Was You) both from API and deezer.com player (http://www.deezer.com/it/track/17737916) BUT if I search the song using the tile from deezer.com I can see that the track is available with a new id (APIs don't give me the "alternative" id, though).
Am I doing something wrong or the APIs responses are sometime just nor reliable?
Tracks in the Deezer API have now an "alternative" field as well as "available_countries" to deal with those country availability issues. You can check it in the API Explorer.
This is however not working for deprecated track ids, because queries on unexisting tracks will just result in a DataException. You could use ISRC codes to work around that, that we now provide as well. Hope this helps.

limit address search by distance

I recently joined a team working on an application that maintains listings with addresses. The user searches, and includes their zipcode, and the application displays the distance to each listing. Currently we use the Google Maps API for this. Reading through questions here on StackOverflow seem to suggest that this is the best way of doing things:
php/mysql zip code proximity search
Search engine by distance
However, while reading through the API documentation, this seems to be expressly forbidden unless we also show a map for each result (and possibly also for each result we filter out, depending on how you read the following statement):
Use of the Distance Matrix API must relate to the display of information on a Google Map; for example, to determine origin-destination pairs that fall within a specific driving time from one another, before requesting and displaying those destinations on a map. Use of the service in an application that doesn't display a Google map is prohibited.
( https://developers.google.com/maps/documentation/distancematrix/ )
What's the best way to accomplish this without running afoul of any API terms?
do you consider the Geo::PostalCode module (perl)? It uses maxmind database to calculate distances between locations (and there is bind in different languages).