API for "People" contact data - windows-8

I'm working on a Win8 metro signup flow and would like to be able to seamlessly pull, using the user-provided phone #, a photo and display name from the built-in "People" app. I'm having trouble finding documentation/code outside of ContactPicker (which isn't what I need).
Couple questions:
Is there an API to pull contact data that would be present in the "People" app?
If so, is there a way to configure capabilities to avoid interrupting the user with a modal "Ok for app xyz to access your address book"?
Thanks.

Confirmed that there is no API to pull contacts programmatically.

You can't pull contacts without permission, it's a security feature. You CAN interrogate the contact data users pick via the Contact Picker though.
You therefore have to ask the user to pick contacts relevant to your task, call the single / multiple contact picker then once picked, you can interrogate the contacts as much as you want. They have phone numbers, emails, locations all the data you might want hanging off those.
As far as I can tell, there's no way to maintain a persistent link to them though, so store that data while you can.

Related

Get user(merchant) ID once the app is installed

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.

Podio Contact API Untegration

I am trying to integrate Contacts API with one of our application. One of my client has created API ID and APP token key. I am using NuGet Package of Podio.
I am trying to use GetContactTotals. But I am not able to fetch no. of records. It is throwing an error. I have used AuthenticateWithApp method. Actually our goal is we have to fetch the contacts and sync with our application. When I use AuthenticateWithPassword method it fetches Contacts, which is more than in that particular app.
Could you please help with any example with which I can achieve this?
GetContactTotal method requires user authentication. Apps don't have access to user's contacts.
Also, some of contacts methods are deprecated (e.g.: https://developers.podio.com/doc/contacts/get-space-contact-totals-67508), so you might want to redesign how to store all contact information and use apps and particularly "Contacts App".
More details on how to organize contacts are here: https://help.podio.com/hc/en-us/articles/201019938-Using-a-Contacts-app-Importing-Contacts

How to sync registered users in database with iPhone contacts

Imagine an iphone app that automatically registers users on the first start according to their phone identity (e.g. phone number*) on a server database.
Afterwards, users should see which of their friends already use the app, i.e. which of their contacts are registered on the DB.
An obvious solution would be to always send a select-request to the DB containing all of the users contacts, everytime the user refreshs his or her friend list. As a result, the user retrieves the list of their registered contacts (friends).
Is there any better way to realize this synchronization between the user management on the server and the contacts in the user's address book. Sending multiple select-requests (each user for every refresh) with dozens of phone numbers might not be performant at all.
Example:
WhatsApp is actually a good example for this scenario. You can add new contacts to your address book and WhatsApp automatically refreshs your WhatsApp friend list according to your phone book. I really like this idea because the user don't need to create an account manually.
*I know about the problems of using phone numbers in AppStore apps, so this question really focusses on the architectural problem.
EDIT
this comment (Whatsapp contacts syncronization) describes the mentioned simple approach. but is this really the smartest way?

How to obtain the phone number when reading facebook contacts

I thought it was impossible to read phone numbers of contacts using facebook APIs, but "Facebook for HTC Sense" android application is syncing all that information to my local agenda.
Somebody knows how are they implementing this feature?
Is it for people you already have in your contacts? It's possible they are just cross-referencing other pieces of information (like email) against your local contact info.
Because phone number isn't a field in the graph nor is it one in the corresponding FQL table.
The fql fields are "cell" and "other_phone" but they are not available unless your app is whitelisted like obviously their iphone/android apps are. You can request those fields but they will return back null values, confirming those are the fields (requesting fields that don't exist throws errors).

Allow user to create account on one device and use that account on others

I want to make an application that has some views for information display. If I install my app on my iPhone then it should display the info. If I then install that app on my iPad then the app should recognize the device and display the info related to my account.
Is there any way to find the single user of two devices without the user's iTunes credentials, or is it possible to generate a key that can identify the common user of both devices?
No, currently there is no way to associate multiple devices to a single user owning those devices given the information you've provided.
However, if you added, "the information I want to display in the views, pertains to the same user account in Game Center for both devices", then you could use the player's identifier from Game Kit API.
https://developer.apple.com/game-center/
This is being added well after the fact, but:
You could use iCloud APIs to accomplish this. These are distinct from iTunes credentials, but obviously the same type of prerequisite in that the user must have an account and it's not under your control.