Flutter에서 Blogger API를 사용하여 앱 만들기

8763 단어 flutter
첫 번째 블로그를 시작하기 위해 블로거를 사용한 것을 기억합니다. 확실히 그것은 인터넷에서 나의 첫 번째 개인 공간 중 하나였습니다.

현재 웹사이트 생성에 Hugo를 사용하고 있음을 눈치채셨을 것입니다. 그리고 hugo-PaperMod 이 만든 adityatelange이라는 환상적인 오픈 소스 테마입니다.

Hugo는 환상적인 플랫폼이기 때문에 사용합니다. 이와 같은 테마는 웹 개발에 대해 잘 모르는 나와 같은 사람들의 삶을 더 쉽게 만듭니다.

이제 본론으로 들어가겠습니다.

필요한 것



Blogger API를 사용하여 앱을 만들려면 Blogger API KeyBlogger Blog Id를 알아야 합니다.

API 키를 생성하는 가장 쉬운 방법은 here, 가서 Get A Key 버튼을 클릭하는 것입니다.



그런 다음 팝업에서 Google 클라우드 프로젝트를 선택하거나 새로 만듭니다. 지금 받은 API 키를 기록해 두는 것을 잊지 마세요 😬.

블로그 ID는 Blogger.com으로 이동하여 URL을 보면 확인할 수 있습니다.



코딩 부분으로 이동합시다.

코딩 시간!



먼저, 아직 없는 경우 새 Flutter 프로젝트를 만듭니다.

flutter create blogger-api-app

Model 클래스를 만들기 위해 Json to Dart 변환기를 사용했습니다here. 이를 위해 블로거 API 응답이 어떻게 보일지에 대한 아이디어를 얻어야 했습니다. 그래서 blogger api documentation 을 참조했더니 구조가 이렇게 되어 있었습니다.

{
  "kind": "blogger#postList",
  "nextPageToken": "CgkIChiAkceVjiYQ0b2SAQ",
  "prevPageToken": "CgkIChDBwrK3mCYQ0b2SAQ",
  "items": [
    {
      "kind": "blogger#post",
      "id": "7706273476706534553",
      "blog": {
        "id": "2399953"
      },
      "published": "2011-08-01T19:58:00.000Z",
      "updated": "2011-08-01T19:58:51.947Z",
      "url": "http://buzz.blogger.com/2011/08/latest-updates-august-1st.html",
      "selfLink": "https://www.googleapis.com/blogger/v3/blogs/2399953/posts/7706273476706534553",
      "title": "Latest updates, August 1st",
      "content": "elided for readability",
      "author": {
        "id": "401465483996",
        "displayName": "Brett Wiltshire",
        "url": "http://www.blogger.com/profile/01430672582309320414",
        "image": {
          "url": "http://4.bp.blogspot.com/_YA50adQ-7vQ/S1gfR_6ufpI/AAAAAAAAAAk/1ErJGgRWZDg/S45/brett.png"
         }
      },
      "replies": {
        "totalItems": "0",
        "selfLink": "https://www.googleapis.com/blogger/v3/blogs/2399953/posts/7706273476706534553/comments"
      }
    },
    {
      "kind": "blogger#post",
      "id": "6069922188027612413",
      elided for readability
    }
  ]
}

Json to Dart Converter에 넣은 후 Model 클래스는 다음과 같았습니다.




모든 toJson 메서드를 제거하고 이름을 items에서 posts로 변경했습니다.



다음으로 할 일은 블로그 게시물을 가져오는 함수를 만드는 것입니다.



내가 쓴 것은




Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Post List"),
        centerTitle: true,
      ),
      body: FutureBuilder(
          // : null,
          future: fetchPosts(),
          builder: (context, snapshot) {
            if (!snapshot.hasData) {
              return Center(
                child: CircularProgressIndicator(),
              );
            } else
              return ListView.builder(
                shrinkWrap: true,
                itemCount: snapshot.data.posts.length ?? 1,
                itemBuilder: (context, index) {
                  return Card(
                    child: ListTile(
                      title: Text(
                        snapshot.data.posts[index].title ?? "no items",
                      ),
                      subtitle: Text(
                          snapshot.data.posts[index].author.displayName ??
                              "No Auther"),
                    ),
                  );
                },
              );
          }),
    );
  }


블로그의 모든 게시물 목록이 표시됩니다 🎉



불분명한 것이 있으면
에서 소스 코드를 확인하십시오.



<사업부 클래스="readme-개요">

mukhtharcm / blogger_json_example




<사업부 클래스="ltag-github-body">

blogger_json_example


the tutorial on my Blog에 대한 Companion 저장소입니다.


블로그 ID와 Blogger API 키를 추가하는 것을 잊지 마세요





View on GitHub

좋은 웹페이지 즐겨찾기