Bug 10801 - Pull down address, phone numbers and Twitter details from LinkedIn
: Pull down address, phone numbers and Twitter details from LinkedIn
Status: RESOLVED FIXED
Product: Hermes
General
: unspecified
: All Maemo
: Unspecified normal (vote)
: ---
Assigned To: unassigned
: general
: http://developer.linkedin.com/docs/DO...
:
:
: 10802
  Show dependency tree
 
Reported: 2010-06-27 16:33 UTC by Andrew Flegg
Modified: 2010-07-04 13:43 UTC (History)
0 users (show)

See Also:


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description Andrew Flegg (reporter) maemo.org 2010-06-27 16:33:38 UTC
BACKGROUND
~~~~~~~~~~
There are additional fields that you can pull from LinkedIn for your
connections:
  * phone-numbers
  * date-of-birth
  * twitter-accounts
  * main-address

LINKEDIN/API.PY
~~~~~~~~~~~~~~~
These should be suffixed, along with other fields, on to
package/src/org/maemo/hermes/engine/linkedin/api.py:LI_CONN_API_URL, in the
form:

   .../connections:(phone-numbers,date-of-birth)

This returns additional content under the <person> element:

    <date-of-birth>
      <year>1976</year>
      <month>4</month>
      <day>31</day>
    </date-of-birth>
    <main-address>123 Acacia Avenue, Exampleton</main-address>
    <phone-numbers total="1">
      <phone-number>
        <phone-type>home</phone-type>
        <phone-number>+44 123 456 789</phone-number>
      </phone-number>
    </phone-numbers>

Phone numbers are fairly arbitrary., however the default field list includes:

  location > country > code

This could be used for localised phone numbers to build up an international
format one. The complete selectors therefore should be:

connections:(id,first-name,last-name,picture-url,site-standard-profile-request:(url),date-of-birth,main-address,location:(country:(code)),phone-numbers,member-url-resources

FRIEND
~~~~~~
Address and phone numbers should be stored against the Friend object.

CONTACT
~~~~~~~
* add_phone_number(number, type = None, country = None)

Adds a phone number if the last six digits don't match an existing number. If
'number' doesn't start with '+', and 'country' is specified, an international
phone number will attempt to be built. The mapping from 2 character ISO-3166
country codes to phone number prefix can be built from http://countrycode.org/.
What further adjustments should be made to the number will be hardcoded
(references to a complete list of rules cannot be found). For example, if
'country' == 'gb', a leading zero is dropped.

* set_address(address)

Sets an address if the contact doesn't have one already set. Due to the
free-formattedness of this field, no reconciliation with existing fields will
be done.
Comment 1 Andrew Flegg (reporter) maemo.org 2010-07-03 22:36:19 UTC
Phone numbers are now added in commit 8d4e705 from LinkedIn.
Comment 2 Andrew Flegg (reporter) maemo.org 2010-07-03 22:43:13 UTC
URLs look like:

<member-url-resources total="2">
  <member-url>
    <url>http://example.com/</url>
    <name>Example Corp</name>
  </member-url>
  <member-url>
    <url>http://example.org/</url>
    <name>Example Charidee</name>
  </member-url>
</member-url-resources>
Comment 3 Andrew Flegg (reporter) maemo.org 2010-07-04 13:43:08 UTC
Completed in commit 65f370a which will be released as 0.8.3 this weekend.
Addresses have been skipped due to structured address format, but phone
numbers; URLs and date of birth all work.