LinkedInAPIを使う。
LinkedInのAPIで何ができるの?
- 結論。大したことはできない。。。
とりあえずつなげるまで
appの登録
appの登録
ここからアプリを作る
設定すると「Client ID」と「Client Secret」が払い出されるので、メモっとく
「RedirectURL」を求められるのでちゃんと入れる。アプリからLinkedInの認証画面に飛んでOKとなった後に遷移する画面。とりあえず適当にエントリーポイント作っておく。
自分のアカウントでアプリの許可
- CLIENT_IDとREDIRECT_URIを使って、Appの許可を行う。
https://www.linkedin.com/oauth/v2/authorization?response_type=code&client_id={CLIENT_ID}&redirect_uri={REDIRECT_URI}&state=987654321&scope=r_basicprofile
- 許可すると、REDIRECT_URIにcodeパラメータが付与されてリダイレクトされる。
トークンを取得
curl -X POST \
--data "grant_type=authorization_code" \
--data "code={code}" \
--data "redirect_uri={REDIRECT_URI}" \
--data "client_id={CLIENT_ID}" \
--data "client_secret={CLIENT_SECRET}" \
"https://www.linkedin.com/oauth/v2/accessToken"
- するとトークンが返ってくるので、それを使って各APIをたたく。
- 本当はprofileAPIとか使いたかったが、パーミッションがなくてたたけない。
- パーミッションを追加するにはここからいろいろ登録が必要とのこと。審査も必要なので残念。。。
APIをたたく
- せっかくなので、goで書いておく
reqURL := "https://api.linkedin.com/v1/people/~?format=json"
token := "{token}"
req, err := http.NewRequest(
"GET",
reqURL,
nil,
)
if err != nil {
fmt.Println(err)
}
req.Header.Set("Authorization", "Bearer "+token)
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Println(err)
}
defer resp.Body.Close()
respBody, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println(err)
}
fmt.Println(string(respBody))
- こんな感じ
- 本当はつながってるユーザの情報がとりたかったが、いけてない。。。。
Author And Source
この問題について(LinkedInAPIを使う。), 我々は、より多くの情報をここで見つけました https://qiita.com/sugimotosyo/items/686cb6efdbb0d4ce23a8著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .