【发布时间】:2021-05-08 05:35:03
【问题描述】:
我正在尝试使用 facebook Marketing API。
问题是我不知道如何执行请求
import (
"context"
"fmt"
"log"
"net/http"
"os"
fb "github.com/huandu/facebook"
"github.com/joho/godotenv"
"golang.org/x/oauth2"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(200)
_, _ = fmt.Fprintf(w, "Hello, World!")
})
http.HandleFunc("/use-fb", FBConnect)
port := os.Getenv("PORT")
if port == "" {
port = "8080"
log.Printf("Defaulting to port %s", port)
}
log.Println("Listening on port %s", port)
log.Printf("Open http://localhost:%s in the browser", port)
}
还有我的 Fb Connect 功能,
func goDotEnvVariable(key string) string {
// load .env file
err := godotenv.Load(".env")
if err != nil {
log.Fatalf("Error loading .env file")
}
return os.Getenv(key)
}
func FBConnect(w http.ResponseWriter, r *http.Request) {
var (
ClientID = goDotEnvVariable("FB_APP_ID")
ClientSecret = goDotEnvVariable("FB_KEY_SECRET")
tokenApp = goDotEnvVariable("FB_USER_TOKEN")
//tokenUser = os.Getenv("Fb_user_app")
)
fbConfig := &oauth2.Config{
ClientID: goDotEnvVariable("FB_APP_ID"), // change this to yours
ClientSecret: goDotEnvVariable("FB_KEY_SECRET"),
RedirectURL: "http://localhost:8080/use-fb", // change this to your webserver adddress
Scopes: []string{"email"},
Endpoint: oauth2.Endpoint{
AuthURL: "https://www.facebook.com/dialog/oauth",
TokenURL: "https://graph.facebook.com/oauth/access_token",
},
}
url := fbConfig.AuthCodeURL("")
fmt.Println("Config", url)
var globalApp = fb.New(ClientID, ClientSecret)
globalApp.EnableAppsecretProof = true
session := globalApp.Session(tokenApp)
err = session.Validate()
fmt.Println(session.Get("/me", nil))
}
我不知道如何使用营销 API,因为我们在 Go 中只有一个 Facebook Graph API SDK,但没有 Facebook 营销 API SDK。
【问题讨论】:
-
我关闭这个问题是因为一个 huandu 包调用了一个已弃用的 API(只是营销 API)
标签: facebook go oauth-2.0 facebook-access-token facebook-marketing-api