Abstract
I develop a Google API integration for a Saas product.
One of its functions is to retrieve the email and displayName of the participants of an event registered in Google Calendar.(ref 1, same issue is reported)
At first I try to get email and display name from get method for google calendar events resources,but I found that many event participants have an email but no displayName.( ref 2,3 )
Then, I try to use google people api to get displayName from email but I couldn't find the way to get it.
Question
If you know the way to get displayName from google account email, please tell me how to do it.
Reference
Google Calendar API: Display Name doesn't work
Google Calendar API, Events Resource representations
Google Calendar API, Events Resource representations
The displayName availability depends either from that account's Name set at Google profile) or from the API caller's contact List in Google Contact.
If the caller and the affected account are within the same Google Workspace environment, then the domain's user profile Name is taken into account.
If that account is added to the caller's Contacts, then it is also possible to retrieve its Display Name via People API.
If the affected account doesn't have a name set nor it is within the caller's contacts, that's expected behavior.
Related
Background:
I am making an app which will be a public app and will put it on Shopify App Store.
I have completed with the OAuth process and I get access_token and scope in return which is good. I can now use this token and send API requests with X-Shopify-Access-Token in the header.
But, for my database design, I need the user details as well, like user ID or email ID for example. However, I read the docs(scroll up a bit) and it suggested in the caution section that email address is not reliable to identify the user(merchant). I also gave a read on access modes which is online and offline, and in my case, I would need an offline access token.
Question:
How would I get a User ID from Shopify during app install so that I could uniquely identify each merchant?
One of the reasons I would want to have this is because a single merchant could have(or see) multiple stores linked with my app and I wish to show them details for each store under a single user account.
When a merchant installs your App, during the oAuth flow, you are presented with the shop name. That is unique, and will always be present for incoming calls to your App from Shopify.
You do not mess around with email, or user ID's. You simply persist the access token you got in your data store, with the shop name.
If you wanted to group by a merchant name, you know each Shop object provides the shop owner details. So you can always dig those out and store them along with the shop name, allowing you to show one merchant, many stores.
I have an analytics app where people can plug their NetSuite account. Ideally, I would also retrieve some meta-data about the NetSuite account itself (ex: company name, etc) to make the analytics results more readable.
Does the NetSuite SuiteTalk SOAP API offers the possibility to retrieve meta-data about the NetSuite account itself?
Yes, you can get most of the company information using Configuration APIs
var companyinfo = nlapiLoadConfiguration('companyinformation');
var companyName = companyInfo.getFieldValue('companyname');
For a list of complete available fields please read "Preference Names and IDs"
EDIT:
Since, in SuiteTalk API, there is no specific API to fetch company information. I would recommend to write a RESTlet using above code and then access it via HTTPS in your Analytics application. If your application has to support multiple NetSuite account you may want to bundle your RESTlet.
In case someone needed to get the Company name, took me days to figure out so im sharing. You can use the token information endpoint defined here https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/chapter_157017286140.html
Calling a token endpoint to obtain user information based on a token
The tokeninfo endpoint returns information about a user based on the access token. The endpoint is https://{accountID}.restlets.api.netsuite.com/rest/tokeninfo, where is a variable for the company’s account ID. A response to a GET request contains data in JSON format, including information such as: Company Name, Company ID (account ID), Role Name, Role ID, Entity ID
NetSuite provides a Roles service that contains some very limited metadata about the account (Name and ID). See the Help Document titled "Using the REST roles Service to Get User Accounts, Roles, and Domains".
I'm trying to access public information from API's without actually having users grant access to the API in my mobile Application. Is this actually possible, or are the Oauth permissions for any sort of access to an API?
For example, I want my application to be able to pull a list of nearby restaurants for my application without asking the user if Yelp can access the application. Since the user just wants nearby food information, the request for restaurants isn't user specific, and the user shouldn't actually have to login.
Another example is if I want Eventbrite to simply give me a list of upcoming events. Is there a way to get this list without having a user authenticate Eventbrite within my application itsself?
You can call an API endpoint with your own token (between your Eventbrite account and your application key), and if the data is public (even if it's 'owned' by a different Eventbrite account) we'll return the data.
For example, if you want a list of events across our Event Directory (Event Search endpoint: http://developer.eventbrite.com/docs/event-search/) you can call this method with your own OAuth token (you can grab your OAuth token here: http://eventbrite.com/myaccount/apps).
Hope that helps!
Is there a way to get four square users twitter id using foursquare API
I have checked the gnip API, i have contacted them but the said it only supports enterprises
I need the users twitter id who checkin to specific locations using Foursquare so i can allow my users to communicate with them on my website
I need Anonymous users data and specifically not my friends data
Have a look at the Four Square API's documentation for a good place to start... It appears that this information is potentially available, however it might be dependent on you being "friends" with them or not:
If the user is a friend, contact information, Facebook ID, and Twitter handle and the user's last checkin may also be present.
The users endpoint will return a user object: This is available in their Compact and Complete objects, but not their "Mini" object.
contact: An object containing none, some, or all of twitter, facebook, email, and phone. Both are strings.
I've noticed that my android phone, the iphone, outlook.com, and yahoo mail all can import my friends' email addresses (and sometimes phone numbers) from facebook. However, I don't see anywhere in the documentation of the API to suggest that you can get email.
Do these services have special agreements with Facebook or am I just not finding the specific api for "contact" importing? I've not had any luck using "email" field with friends api.
Any ideas?
These services have some special agreements with Facebook and thus are able to retrieve the Email Ids of the Friends of the User. Most of them don't allow further exporting of data obtained from there directly.
And as per Email Permissions documentation here it clearly states that for App Developers
Note: There is no way for apps to obtain email addresses for a user's friends.
As per the phone number, there is no access to it no matter what permission. You may though ask the user to fill those for you.