我在一个包中有一些结构,它们进行简单的财务API调用,一个实现对API的请求,一个存储响应.
我想知道分别命名结构"请求"和"响应"是否合适,或者我应该在主题/包之前添加"FinanceRequest"和"FinanceResponse"?或者通过使用finance.FinanceRequest(财务词使用两次)使外部调用多余?
寻找关于此事的想法(golang惯例/偏好)......
样品:
package finance
type Request struct {
//...
}
type Response struct {
//...
}
func DoSomething(r *Request) (*Response, error) {
//...
}
Run Code Online (Sandbox Code Playgroud)
要么
package finance
type FinanceRequest struct {
//...
}
type FinanceResponse struct {
//...
}
func DoSomething(r *FinanceRequest) (*FinanceResponse, error) {
//...
}
Run Code Online (Sandbox Code Playgroud) 所以我是Go的新手,所以请原谅我的无知.我正在尝试使用oauth2对twitter进行一个简单的REST API调用,以进行"仅应用程序"调用,但我不断将"无效或过期令牌"作为错误返回.
有人有设置这样的东西的经验吗?
响应是:{"errors":[{"code":89,"message":"令牌无效或过期."}]}
package main
import "fmt"
import "encoding/base64"
import "io/ioutil"
import "time"
import "golang.org/x/oauth2"
func main() {
config := &oauth2.Config{
Endpoint: oauth2.Endpoint{
AuthURL: "https://api.twitter.com/oauth2/token",
TokenURL: "https://api.twitter.com/oauth/request_token",
},
}
accessToken := base64.StdEncoding.EncodeToString([]byte("{Consumer Key (API Key)}:{Consumer Secret (API Secret)}"));
token := &oauth2.Token{
AccessToken: accessToken,
Expiry: time.Now().Add(time.Duration(24)*time.Hour)
}
httpClient := config.Client(oauth2.NoContext, token)
resp, err := httpClient.Get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=google")
if (err != nil) {
fmt.Printf("Error: %s", err)
}
defer resp.Body.Close();
body, err := ioutil.ReadAll(resp.Body);
if (err != nil) {
fmt.Printf("Error: %s", err)
}
fmt.Printf("Access …Run Code Online (Sandbox Code Playgroud)