Oauth1.0aではてなブログAPIにアクセスする

こんにちはnasustです。 Oauth1.0aではてなブログAPIにアクセスするサンプルです。

このライブラリを使用してアクセスしています。

package main

import (
	"fmt"
	"io/ioutil"
	"log"

	"github.com/garyburd/go-oauth/oauth"
)

func main() {
	oauthClient := &oauth.Client{
		Credentials: oauth.Credentials{
			Token:  "XXXXXXXXXXXXXX",
			Secret: "XXXXXXXXXXXXXX",
		},
		TemporaryCredentialRequestURI: "https://www.hatena.com/oauth/initiate",
		ResourceOwnerAuthorizationURI: "https://www.hatena.com/oauth/authorize",
		TokenRequestURI:               "https://www.hatena.com/oauth/token",
	}

	accessToken := oauth.Credentials{
		Token:  "XXXXXXXXXXXXXXX",
		Secret: "XXXXXXXXXXXXXXX",
	}

	response, err := oauthClient.Get(nil, &accessToken, "https://blog.hatena.ne.jp/nasust/nasust.hatenablog.com/atom", nil)

	if err != nil {
		log.Fatal("Get Err: ", err)
		panic(-1)
	}

	fmt.Println("Status: ", response.Status)

	bodyData, err := ioutil.ReadAll(response.Body)

	if err != nil {
		log.Fatal("Read Err:", err)
		panic(-1)
	}

	bodyStr := string(bodyData)

	fmt.Println(bodyStr)
}

結果:

Status:  200 OK
<?xml version="1.0" encoding="utf-8"?>
<service xmlns="http://www.w3.org/2007/app">
  <workspace>
    <atom:title xmlns:atom="http://www.w3.org/2005/Atom">nasust blog</atom:title>
    <collection href="https://blog.hatena.ne.jp/nasust/nasust.hatenablog.com/atom/entry">
      <atom:title xmlns:atom="http://www.w3.org/2005/Atom">nasust blog - 記事一覧</atom:title>
      <accept>application/atom+xml;type=entry</accept>
    </collection>
  </workspace>
</service>
iOS、Android、Web、APIサーバーなどのフロントエンド・バックエンドを開発するソフトウェアエンジニアです。 UI/UXが好きです。かっこいいUIやWebデザインを眺めるのが趣味です。 このブログはソフトウェア開発関係の内容を記事にしています。
web service:
GitHubQiitaTwitterはてなブログ
handle name:
nasust
real name:
hideki mori
job:
ソフトウェアエンジニア
develop:
target: ios, android, web page, single page application, api server, system service, cli tool, linux embedded device

lang: c/c++, go, swift, objective-c, java, kotlin, typescript, dart, javascript, ruby, python, php

tool: vscode, xcode, android studio, photoshop, vim, docker