Qiita APIv2를 사용하여 자신의 기사 얻기

5227 단어 QiitaAPIQiitaPHPapi

소개



현재 자신의 간이적인 홈페이지적인 물건을 작성하고 있어서, 거기서 자신의 Qiita의 기사를 실고 싶다-라고 생각해, 다루었습니다만, 처음으로 API를 접한다고 하는 것으로 칭푼 캄푼으로 하고, 어떻게 되는 일인가 라고 생각했습니다만, 어떻게든 취득할 수 있었으므로, 기재하고 싶습니다.

Qiita의 APIv2에 관해서는 아래를 참고하십시오.
[참고]
htps : // 코 m/아피/v2/도 cs

인증을 이용하여 취득하는 경우와, 인증을 사용하지 않고 취득하는 경우가 있습니다만, 인증을 이용하지 않고 취득하는 경우는, 공개된 기사만을 취득하는 형태가 되어, 만약 한정 공개의 기사 있다면 얻을 수 없습니다.
認証 라는 것은 本人しか知り得ない情報を使用して、本人であるという事を証明する事 라고 해석하고 있습니다.

실제로 클라이언트와 서버 간의 인증까지의 흐름을 대략 이야기하면,
1. 클라이언트에서 서버로 자격 증명 전달
2. 서버에서 자격 증명을 확인하고 Access Token 발급
3. 클라이언트는 API Call에서 Access Token 사용
4. 서버는 Access Token을 확인하고 API 응답을 반환합니다.
라는 흐름이 됩니다.

그래서 이번에 말하는 本人しか知り得ない情報 라는 것이 アクセストークン 가 되어 자신의 계정의 設定 에서 アプリケーション 를 선택하면 新しくトークンを発行する 발행하십시오.


라고 하는 것으로, 인증을 이용해 자신의 기사를 취득할 때까지를 기재 하겠습니다.

기사 취득



먼저 터미널에서 curlコマンド를 사용하여 자신의 기사를 얻으십시오.
코드에 떨어지는 것은 그 이후입니다.
$ curl -X GET "https://qiita.com/api/v2/authenticated_user/items?page=1&per_page=10" -H "Content-Type: application/json" -H "Authorization: Bearer [自身のアクセストークン]"

이쪽을 두드려서 취득해 보세요.
덧붙여서 이 명령에서는 per_page=10 로 하므로 최신 기사 10건을 취득하게 됩니다.per_page는 취득 건수이므로, 만일 10건 이상의 기사를 투고하고 있는 분은, 이 값을 변경하면, 취득할 수 있는 건수도 바꿀 수 있다고 하는 것이 됩니다만, 여기에서는 自身の記事が取得できるかどうか 그래서 이것으로 좋을까 생각됩니다.

curl 커멘드에 대해서는 이쪽을 참고로 해 보세요.
[참고]
htps : // 코 m / 야스 히로키 / MS / 569d3371

받을 수 있으면 코드에 떨어뜨려 갑시다.
이번에는 PHP cURL関数 를 사용하여 씁니다.
// curlの初期化
$ch = curl_init();
// 使用するURL
$url = "https://qiita.com/api/v2/authenticated_user/items?page=1&per_page=10";
// curlのオプション設定
$options = array(
    CURLOPT_URL => $url,
    CURLOPT_HTTPHEADER => array(
        // データの形式、文字コード記載
        'Content-Type: application/json; charser=UTF-8',
        // 自身のアクセストークン
        'Authorization: Bearer ' . "[自身のアクセストークン]"
    ),
    // 返り値を文字列で取得
    CURLOPT_RETURNTRANSFER => true,
    // HTTPメソッド指定
    CURLOPT_CUSTOMREQUEST => 'GET',
);
// 複数のオプションを設定
curl_setopt_array($ch, $options);
// curlの実行
$json = curl_exec($ch);
// curlを閉じる
curl_close($ch);
// json文字列をデコード
$data = json_decode($json);

위의 코드는 curl 명령에서 cURL 함수로 대체하여 작성한 코드입니다.cURL関数 잘 모르기 때문에 매우 시간이 걸렸습니다.

방금 전에 per_page에 대해 언급했지만 코드에 떨어 뜨렸을 때는 각 개인의 취득하고 싶은 건수에 따라 변경해보십시오.
cURL関数 에 관해서는 이쪽을 참고해 보세요.
[참고]
htp //php. 네 t/마누아 l/그럼/레 f. rl. php

요약



생각한 만큼 코드는 짧았습니다.
아직 API에 대해서는 이해하고 있지 않으므로, 공부가 필요할까 생각합니다만, 무엇보다 取得できた 라고 하는 것에 기쁨을 느꼈습니다.
프로그래밍 재미 있습니다.
꼭 실천해 보세요! !



Twitter하고 있습니다! 외부의 엔지니어 분들도 점점 연결하고 싶다고 생각하고 있으므로, 꼭 팔로우 해 주시면 좋겠습니다! @ 타츠오 96
p.s. 올해 2월까지는 용접 장인이었습니다. 가츠 계 엔지니어로 하겠습니다.

좋은 웹페이지 즐겨찾기