首页 文章

来自LinkedIn Android SDK的 Profiles 中缺少字段

提问于
浏览
1

我正在使用从here(版本1.1.4)下载的LinkedIn Android SDK,并且已经设置了身份验证,如下所示:

liSessionManager.init(activity,
                Scope.build(Scope.R_BASICPROFILE, Scope.R_EMAILADDRESS), authListener);

并且一切正常,但是当我想获取配置文件数据时,返回的json缺少工作位置中的 summary 等字段以及给定配置文件的一般摘要 .

请求是这样的:

apiHelper.getRequest(activity, GET_LINKED_IN_PROFILE_URL, apiListener);

其中 GET_LINKED_IN_PROFILE_URLhttps://api.linkedin.com/v1/people/~:(id,first-name,last-name,email-address,formatted-name,headline,location,industry,current-share,num-connections,num-connections-capped,summary,specialties,positions,phone-numbers,public-profile-url,picture-url,picture-urls::(original))?format=json .

答复如下:

{
  "currentShare": {
    "author": {
      "firstName": "Name",
      "id": "***",
      "lastName": "Surname"
    },
    "comment": "I've made my LinkedIn profile visual! Check it out and get yours!",
    "content": {
      "description": "some descr",
      "eyebrowUrl": "http://url.com/me/7827748?m_in&user_id=***",
      "resolvedUrl": "http://url.com/me/7827748?m_in&user_id=***",
      "shortenedUrl": "http://linkedin.in/url",
      "submittedImageUrl": "https://www.url.com/logo-share.png",
      "submittedUrl": "https://www.url.com/me/***?m_in&user_id=***",
      "thumbnailUrl": "https://media.licdn.com/media-proxy/ext?w=80&h=100&f=&hash=usON2E%2F4FqEGtIT5dsadsaaD&ora=1%2CaFBCTXdkRmpGL2lvQUFBPQ%2CxAVta5g-0R65wFUbzx0776dsaulz-50hKCpDZEXX8HmW3uZHfgasdapuGJ-n08ARIZ3Bex1svPLf5AmX_Us3r",
      "title": "title"
    },
    "id": "s1291360434",
    "source": {
      "application": {"name": "app"},
      "serviceProvider": {"name": "LINKEDIN"}
    },
    "timestamp": 1346884888000,
    "visibility": {"code": "anyone"}
  },
  "emailAddress": "***@gmail.com",
  "firstName": "Name",
  "formattedName": "Name Surname",
  "headline": "Job position",
  "id": "***",
  "industry": "Computer Software",
  "lastName": "Surname",
  "location": {
    "country": {"code": "pl"},
    "name": "Wroclaw, Lower Silesian District, Poland"
  },
  "numConnections": 229,
  "numConnectionsCapped": false,
  "pictureUrl": "https://media.licdn.com/mpr/mprx/photourl",
  "pictureUrls": {
    "_total": 1,
    "values": ["https://media.licdn.com/mpr/mprx/photourl"]
  },
  "positions": {
    "_total": 1,
    "values": [{
      "company": {
        "id": 2795963,
        "industry": "Information Technology & Services",
        "name": "Company 1",
        "size": "11-50",
        "type": "Privately Held"
      },
      "id": ***,
      "isCurrent": true,
      "location": {
        "country": {
          "code": "pl",
          "name": "Poland"
        },
        "name": "Wroclaw, Lower Silesian District, Poland"
      },
      "startDate": {
        "month": 1,
        "year": 2016
      },
      "title": "Job position"
    }]
  },
  "publicProfileUrl": "https://www.linkedin.com/in/username/41219"
}

当我在_AP44484_的API控制台中使用相同的网址时,响应如下所示:

{
  "currentShare": {
    "author": {
      "firstName": "Name",
      "id": "***",
      "lastName": "Surname"
    },
    "comment": "I've made my LinkedIn profile visual! Check it out and get yours!",
    "content": {
      "description": "some descr",
      "eyebrowUrl": "http://url.com/me/7827748?m_in&user_id=***",
      "resolvedUrl": "http://url.com/me/7827748?m_in&user_id=***",
      "shortenedUrl": "http://linkedin.com/shortened",
      "submittedImageUrl": "https://www.url.com/logo-share.png",
      "submittedUrl": "https://www.url.com/me/***?m_in&user_id=***",
      "thumbnailUrl": "https://media.licdn.com/media-proxy/ext?w=80&h=100&f=&hash=usON2E%2F4FqEGtIT5dsadsaaD&ora=1%2CaFBCTXdkRmpGL2lvQUFBPQ%2CxAVta5g-0R65wFUbzx0776dsaulz-50hKCpDZEXX8HmW3uZHfgasdapuGJ-n08ARIZ3Bex1svPLf5AmX_Us3r",
      "title": "title"
    },
    "id": "s1291360434",
    "source": {
      "application": {
        "name": "app"
      },
      "serviceProvider": {
        "name": "LINKEDIN"
      }
    },
    "timestamp": 1346884888000,
    "visibility": {
      "code": "anyone"
    }
  },
  "emailAddress": "***@gmail.com",
  "firstName": "Name",
  "formattedName": "Name Surname",
  "headline": "Job position",
  "id": "***",
  "industry": "Computer Software",
  "lastName": "Surname",
  "location": {
    "country": {
      "code": "pl"
    },
    "name": "Wroclaw, Lower Silesian District, Poland"
  },
  "numConnections": 229,
  "numConnectionsCapped": false,
  "pictureUrl": "https://media.licdn.com/mpr/mprx/photourl",
  "pictureUrls": {
    "_total": 1,
    "values": [
      "https://media.licdn.com/mpr/mprx/photourl"
    ]
  },
  "positions": {
    "_total": 1,
    "values": [
      {
        "company": {
          "id": 2795963,
          "industry": "Information Technology & Services",
          "name": "Company 1",
          "size": "11-50",
          "type": "Privately Held"
        },
        "id": 22222,
        "isCurrent": true,
        "location": {
          "country": {
            "code": "pl",
            "name": "Poland"
          },
          "name": "Wroclaw, Lower Silesian District, Poland"
        },
        "startDate": {
          "month": 1,
          "year": 2016
        },
        "title": "Job position"
      },
      {
        "company": {
          "id": 611639,
          "industry": "Internet",
          "name": "Company 2",
          "size": "51-200",
          "type": "Privately Held"
        },
        "endDate": {
          "month": 2,
          "year": 2016
        },
        "id": 1111,
        "isCurrent": false,
        "location": {
          "country": {
            "code": "pl",
            "name": "Poland"
          },
          "name": "Wroclaw, Lower Silesian District, Poland"
        },
        "startDate": {
          "month": 4,
          "year": 2015
        },
        "summary": "Summary of job",
        "title": "Senior Android Developer"
      },
      {
        "company": {
          "id": 1111,
          "industry": "Internet",
          "name": "Company 2",
          "size": "51-200",
          "type": "Privately Held"
        },
        "endDate": {
          "month": 3,
          "year": 2015
        },
        "id": 111111,
        "isCurrent": false,
        "location": {
          "country": {
            "code": "pl",
            "name": "Poland"
          },
          "name": "Wroclaw, Lower Silesian District, Poland"
        },
        "startDate": {
          "month": 4,
          "year": 2014
        },
        "summary": "short summary",
        "title": "Android/iOS Developer"
      },
      {
        "company": {
          "id": 11111,
          "industry": "Internet",
          "name": "Company 2",
          "size": "51-200",
          "type": "Privately Held"
        },
        "endDate": {
          "month": 3,
          "year": 2014
        },
        "id": 1111111,
        "isCurrent": false,
        "location": {
          "country": {
            "code": "pl",
            "name": "Poland"
          },
          "name": "Wroclaw, Lower Silesian District, Poland"
        },
        "startDate": {
          "month": 2,
          "year": 2013
        },
        "summary": "android applications developer.\ncross-platform mobile application testing (iOS, Windows 8)",
        "title": "Junior Android Developer"
      },
      {
        "company": {
          "id": 3333,
          "industry": "Information Technology & Services",
          "name": "Company 3",
          "size": "201-500",
          "type": "Privately Held"
        },
        "endDate": {
          "month": 11,
          "year": 2011
        },
        "id": 3333333,
        "isCurrent": false,
        "location": {
          "country": {
            "code": "pl",
            "name": "Poland"
          },
          "name": "Warsaw, Masovian District, Poland"
        },
        "startDate": {
          "month": 7,
          "year": 2011
        },
        "summary": "Intern ",
        "title": "Internship"
      }
    ]
  },
  "publicProfileUrl": "https://www.linkedin.com/in/username/41219"
}

这表明Android SDK的响应缺少一些工作职位和 Profiles 摘要 .

1 回答

  • 0

    原来LinkedIn并没有返回没有 Value 的字段 . 如果你不是响应中名为 summary 的字段 . (不要指望像 "summary" : null 这样的东西)

    此外,在使用 r_basicprofile 范围时,仅返回给定配置文件的第一个位置 . 由于在 positions 数组中返回了一个配置文件,因此令人困惑 .

    基于https://developer.linkedin.com/docs/fields/basic-profile

    Positions - 表示成员当前位置的对象 . 有关此对象中可用字段的说明,请参见位置字段 .

    API Console的响应具有所有作业位置的原因是因为它在进行身份验证时要求 r_fullprofile 范围

相关问题