LinkedIn get Contacts XE3

I have added Elevate DB in order to store the contacts and added my insert code to procedure TLinkedInForm.btConnectionsClick on the sample project.


All the contact records are imported into the database .

Many of the fields are correctly populated , but 

PublicProfileURL
EmailAddress
FormattedName
Location
Summary
CountryCode

are not stored ..

My Code :
====================================================================================

 AdvLinkedIn1.GetConnections;

  lbConnections.Items.Clear;
 for i := 0 to AdvLinkedIn1.Connections.Count - 1 do
  begin
    lbConnections.Items.AddObject(AdvLinkedIn1.Connections.Items
      .Profile.FirstName + ' ' + AdvLinkedIn1.Connections.Items
      .Profile.LastName, TObject(i));
    // Add to Database
    ContactCount := ContactCount + 1;

if AdvLinkedIn1.Connections.Items.Profile.FirstName <> 'private' then
    begin
      DMEMMH.EBDLiContact.Insert;
      DMEMMH.EBDLiContactLIContactNumber.AsInteger := ContactCount;
      DMEMMH.EBDLiContactLastName.AsString := AdvLinkedIn1.Connections.Items
        .Profile.LastName;
      DMEMMH.EBDLiContactFirstName.AsString := AdvLinkedIn1.Connections.Items
        .Profile.FirstName;
      DMEMMH.EBDLiContactHeadLine.AsString := AdvLinkedIn1.Connections.Items
        .Profile.Headline;
      DMEMMH.EBDLiContactRequestURL.AsString := AdvLinkedIn1.Connections.Items
        .Profile.RequestURL;
      DMEMMH.EBDLiContactIndustry.AsString := AdvLinkedIn1.Connections.Items
        .Profile.Industry;
      DMEMMH.EBDLiContactInterests.AsString := AdvLinkedIn1.Connections.Items
        .Profile.Interests;
      DMEMMH.EBDLiContactSpecialities.AsString := AdvLinkedIn1.Connections.Items
        .Profile.Specialties;
      DMEMMH.EBDLiContactSummary.AsString := AdvLinkedIn1.Connections.Items
        .Profile.Summary;
      DMEMMH.EBDLiContactPictureURL.AsString := AdvLinkedIn1.Connections.Items
        .Profile.PictureURL;
      DMEMMH.EBDLiContactBirthDate.AsDateTime := AdvLinkedIn1.Connections.Items
        .Profile.BirthDate;
      DMEMMH.EBDLiContactLocation.AsString := AdvLinkedIn1.Connections.Items
        .Profile.Location;
      DMEMMH.EBDLiContactLastModified.AsDateTime :=
        AdvLinkedIn1.Connections.Items.Profile.LastModified;
      DMEMMH.EBDLiContactDistance.AsInteger := AdvLinkedIn1.Connections.Items
        .Profile.Distance;
      DMEMMH.EBDLiContactFormattedName.AsString :=
        AdvLinkedIn1.Connections.Items.Profile.FormattedName;
      DMEMMH.EBDLiContactConnectionsCount.AsInteger :=
        AdvLinkedIn1.Connections.Items.Profile.ConnectionsCount;
      DMEMMH.EBDLiContactMaidenName.AsString := AdvLinkedIn1.Connections.Items
        .Profile.MaidenName;
      DMEMMH.EBDLiContactPublicProfileURL.AsString :=
        AdvLinkedIn1.Connections.Items.Profile.PublicProfileURL;
      DMEMMH.EBDLIContactCountryCode.AsString := AdvLinkedIn1.Connections.Items
        .Profile.CountryCode;
      DMEMMH.EBDLIContactLIEmailAddress.AsString :=
        AdvLinkedIn1.Connections.Items.Profile.EmailAddress;
      DMEMMH.EBDLIContactLIFID.AsString :=  AdvLinkedIn1.Connections.Items[
        i].Profile.ID ;
      DMEMMH.EBDLiContact.Post;
    end;

  end;

end ;

=================================================================================

I would welcome your thoughts

Hi,

Full profile information (including email address) is only available for the authenticated user. The connections API only returns basic profile information which unfortunately does not include the email address.
These fields may also have been left blank by the particular LinkedIn member.

As indicated in the LinkedIn API documentation:

For 1st degree connections, you may only retrieve profile fields available with the r_basicprofile member permission
https://developer.linkedin.com/documents/connections-api

The routine is retrieving the authenticated users 1st level contacts. I am aware that email address es may not be available.


When running the search options in the example supplied , all the information listed as missing above is available.

There appears to be a difference in the way contacts retrieval works to the way search works ? 
  • There was an issue in the TAdvLinkedIn control where the CountryCode field was not populated correctly.
    This has now been fixed.
    The update will be available with the next release of the TMS Cloud Pack.

    - I have not been able to reproduce an issue with the other fields you mentioned.
    They seem to be populated as expected when retrieving connections as well as when searching for people.
    Is this happening for all LinkedIn members or only a select group of members?

Now Working .


I scrapped my original code and intercepted the lbConnectionsClick(Sender: TObject) routine and used the Lp. properties which are populated with the data I required

Thanks