Skip to content

making/jqiita

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

JQiita

Qiita API v2 Java Client

Usage

<dependency>
    <groupId>am.ik.jqiita</groupId>
    <artifactId>jqiita</artifactId>
    <version>0.8.1</version>
</dependency>

How to use API

// list items
Qiita.client()
        .items()
        .list()
        .forEach(System.out::println);

// output verbose Log
Qiita.given()
        .log().all()
        .client()
        .items()
        .list()
        .forEach(System.out::println);

// list items by specific user
Qiita.client()
        .items()
        .listByUserId("making@github")
        .stream()
        .map(Item::getTitle)
        .forEach(System.out::println);

// list items by specific tag
Qiita.client()
        .items()
        .listByTagId("Java")
        .stream()
        .map(Item::getTitle)
        .forEach(System.out::println);


// with accessToken
Qiita.given()
        .accessToken("1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcd")
        .client()
        .items()
        .list()
        .forEach(System.out::println);

// create item
Item item = Qiita.given()
        .accessToken("1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcd")
        .client()
        .items()
        .create(new ItemRequest(
                "new item from JQiita",
                "* hello world!",
                Arrays.asList(new TagRequest("hoge"))));
System.out.println(item);

// update item
Qiita.given()
        .accessToken("1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcd")
        .client()
        .items()
        .update(item.getId(),
                new ItemRequest("Title has changed!", "* foo bar!", Arrays.asList(new TagRequest("hoge"))));

// delete item
Qiita.given()
        .accessToken("1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcd")
        .client()
        .items()
        .delete(item.getId())

// for Qiita:Team
Qiita.given()
        .accessToken("1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcd")
        .host("https://xxxx.qiita.com")
        .client()
        .items()
        .list()
        .forEach(System.out::println);

Note that QiitaClient is cached for each access token. Qiita.given().someConfigure() is ignored once the client is created unless QiitaClient#clearCache() is called.

How to set access token

Priority is "Programatic > System Property > Environment Variable".

Programatic

QiitaClient client = Qiita.given()
        .accessToken("1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcd")
        .client();
// ...

System Property

-Djqiita.accessToken=1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcd

Environment Variable

export JQIITA_ACCESS_TOKEN=1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcd

Requirements

License

Licensed under the Apache License, Version 2.0.

About

Qiita API Java Client

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages