FacebookAPI를 go 언어에서 호출
소개
Facebook의 API를 go 언어에서 다루고 싶습니다.
Facebook의 API는 Oauth 인증을 받아야합니다. 사용자 인증을 거쳐 토큰을 얻고 해당 토큰을 사용하여 API를 호출합니다.
아래 준비
적당히 Facebook 앱을 등록하고 앱 ID와 app secret을 삼가해 둡니다.
그런 다음 Reidirect URL에
http://localhost:8080
를 등록합니다.API 호출
다음 단계를 구현합니다.
소스 코드는 다음과 같습니다.
package main
import (
"fmt"
"log"
"net/http"
fb "github.com/huandu/facebook"
"golang.org/x/oauth2"
fbauth "golang.org/x/oauth2/facebook"
)
var conf *oauth2.Config
func main() {
conf = &oauth2.Config{
ClientID: "11111111111111",
ClientSecret: "xxxxxxxxxxxxxxxxxxxxxxxxxx",
Endpoint: fbauth.Endpoint,
RedirectURL: "http://localhost:8080/",
}
//認証ページのURL
url := conf.AuthCodeURL("")
fmt.Println(url)
fmt.Println("Please access the URL")
//リダイレクトURLで指定したサーバを起動しておく
http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)
}
func handler(w http.ResponseWriter, r *http.Request) {
code := r.FormValue("code") //codeが返ってくるので取得
//codeを使ってAccessTokenを取得する
token, err := conf.Exchange(oauth2.NoContext, code)
if err != nil {
log.Fatal("exchange error", err.Error())
}
client := conf.Client(oauth2.NoContext, token)
session := &fb.Session{
Version: "v2.8",
HttpClient: client,
}
//APIを使って自身の情報を取得
res, err := session.Get("/me?fields=id,name", nil)
if err != nil {
log.Fatal("api get error", err.Error())
}
fmt.Println(res["name"]) // your facebook name
}
이상으로 facebook API를 부를 수 있었습니다.
Reference
이 문제에 관하여(FacebookAPI를 go 언어에서 호출), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/enokidoK/items/824883d08567f570fae6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)