is there an API call that gives you an iPhone user's "My Info" contact DB record? - iphone

So in the latest iOS (not sure about prior) there is a "My Info" setting that let's the user pick a ContactDB record on his device that is "his".
Is there an API call to get this value? I can query the user's entire ContactDB, but figuring out which contact DB is his isn't trivial.

There’s no public API that I know of to retrieve the user’s “me” card. Your best option is probably to present an ABPeoplePickerNavigationController asking the user to select it.

Also, I believe Bump had a setup step that asked for your contact info, and the moment you gave it your phone number (or email?) it looked up the contact card with the matching info and autofilled the rest of the form. A bit of a workaround, but it did the trick.

Related

How can I get owner email for a Facebook App using the App Access Token

How would I get the email address associated with an active Facebook App ID, if all the usual methods (such as here, and here) don't return any email information with my creator-uid?
(I simply don't get the email field returned, even when I specifically request it as per here. I don't think this is a case of this as I didn't get an "App has no owner" error, or any error whatsoever.)
I've also tried this, but I'm in a catch-22 as I can't log in to select the application first.
I'm looking for the owner email address, so I can log in to make administrative updates following graph API updates.
Other specifics:
I get the following when I hit the Graph API via: https://graph.facebook.com/{my-app-id}?access_token={my-access-token} or https://graph.facebook.com/{my-app-id}?access_token={my-access-token}&fields=email
{
"name": "my-name",
"id": "my-creator-uid" }
I've tried to recover my FB account using all emails I can think of, but FB says 'no account exists' for each that I try. (This is a data-analytics corporate account being used to gather data for 12+ months, so I can't simply create a new account/app ID and start using that instead, as app-scoped user IDs will change.)
I've also tried viewing https://www.facebook.com/app_scoped_user_id/{my-creator-uid}/ and https://www.facebook.com/{my-creator-uid}/ from another company FB account, but both get:
Sorry, this content isn't available right now The link you followed
may have expired, or the page may only be visible to an audience
you're not in.
What else would you suggest? What might have happened? I've tried to contact Facebook, but that search led me to this forum post, so I'm here. Thank you in advance for your help.
This is not a programming question, try to get in touch with the Facebook Team, if you are working with Facebook paid services (like Advertising) you might have an account representative that can accelerate the things a little bit (But this can be a really long wait).
A more realistic option is to create a new profile and an new app, also your application will be reviewed as well (Take a little less time than previous option).

WhatsApp deep link to a specific mobile number

So, a friend of mine told me they have been using Facebook ads to post a deep link to send a whatsapp message and ask for the information about the ad via whatsapp. Bad news: this friend is not very tech savvy so that's all he knows.
Now, the subject actually caught my eye so I started researching. Unfortunately: official documentation states the url scheme for whatsapp is something like:
whatsapp://send?text=WHATEVER_YOU_WANT&abid=RECIPIENT_ADDRESSBOOK_ID
Now: big issue is that the abid (Adress Book ID) is relative to each phone and obeys only to the order each one was added to the specific phone we're talking about. In this case, the contact I want to send the message is 402. But 402 on each of your mobile devices will be any other person. Not the one you want to be.
So I reached the abid by downloading iMazing and sqlitebrowser and making a backup of my iPhone using the iMazing backup tool to then extract the ChatStorage.sqlite from said backup and looking into the sql database. I found that each contact does have an e-mail address time ID named ZCONTACTJID (NUMBERWITHOUT+#s.whatsapp.net) and another id named ZETAG (w:APPARENTLYRANDOMNUMBER;)
Is anyone of you familiar with such ID's or do have a way to make a deep link useful for send a message to a specific number?
Thanks!
For someone like me who is still looking for it, the following link seems to work -
Ping me on WhatsApp
Note: Use the parameter 'phone' and pass the actual phone number value instead of Adress Book ID.
It opens the contact in WhatsApp app, along with the message 'Hello World!' prepopulated in the input text box. The link works even if the phone number is not a valid contact in the phone's contact list.
(Tested this with google chrome on an android phone.)
The WhatsApp ABID is actually the standard iOS ABRecord (source). You can get that programmatically if you're writing a native iOS app, but unfortunately there's no way to access it within the context of a Facebook ad. And in any case, the abid is totally unsupported on WhatsApp Android (source).
A workaround would be to specify the number to send to within the message text, so that the user can enter it manually. Hacky, but maybe better than nothing...
Maybe you should better use the official Whatsapp API mentioned in THIS OTHER ANSWER (because S.O. policies I had to put a link to the solution, no duplicates).
Check this out. This is the updated one...
https://wa.me/<PHONE NUMBER WITH COUNTRY CODE/>?text=<MESSAGE />
For me something else worked:
intent://send/+31612345678#Intent;scheme=smsto;package=com.whatsapp;action=android.intent.action.SENDTO;end

Is it possible to get the current user's address book record?

Assuming the user has granted permission for the app to access contacts, is there any way to determine which record belongs to the phone owner? For example if you browse the list of contacts on your phone, you will see a little "me" beside the record that is identified as the owner's record. So the phone clearly knows this, but is there any programmatic way to determine this? Or is that considered a privacy violation?
I know on a Mac you can use [[ABAddressBook sharedAddressBook] me]. For iOS, take a look at how Square's CardCase app does it.

Can I collect data from form fields with Google Analytics?

I have a website with a "contact me" form. Users can leave their name, email, and message and I'll get an email containing their data.
I've set up a goal on Google Analytics for the registration and everything works fine.
Now, the question is: Can I see their names and emails on my Analytics? Is there any way to make Google Analytics save that data and show it to me?
Thanks in advance,
Daniel
Theoretically this can be done using custom variables. See: http://code.google.com/apis/analytics/docs/tracking/gaTrackingCustomVariables.html
However, I believe that name and email address are considered Personally Identifiable Information so sending it to Google Analytics is most likely against their Terms of Service. See section 7: http://www.google.com/intl/en/analytics/tos.html
You would need to use another tracking system such as Piwik: http://piwik.org/
You can try using event tracking.
eg.
Register

display email inbox?

is there an option that I could retrieve from my app the latest 10 email subjects from my ipad email inbox.
I would like to display the user his last 10 subjects in my new app.
Any Ideas if this is possible and how?
best
chris
No, it's not. Apple doesn't allow access to most user data that's handled by the built-in native software, and even then generally not without the user explicitly giving the app access (such as in an address book picker).