在golang中打开一个网址并阅读重定向的网址

时间:2015-12-26 19:47:34

标签: api url redirect go medium.com

我正在编写一个命令行工具,用于使用Go访问Medium.com's API。他们也发布了这个SDK for golang

我已按照说明操作,直到我可以使用秘密状态,重定向网址和范围构建网址。

package main

import (
    "fmt"
    "net/http"

    "github.com/Medium/medium-sdk-go"
)

func check(e error) {
    if e != nil {
        panic(e)
    }
}

func mediumAuth() {
    m := medium.NewClient("clientIDString", "clientSecretString")

    url := m.GetAuthorizationURL("supersecretstring", "http://hasit.me/callback/medium", medium.ScopeBasicProfile, medium.ScopePublishPost)

    //next step
}


func main() {
    mediumAuth()
}

下一步是打开网址,让用户授予访问他/她个人资料的权限。我可以成功打开网址。

exec.Command("open", url).Start()

现在,一旦用户点击了网址,我该如何获取重定向的网址?我甚至尝试使用http GET,但响应不是我想要的。

resp, err := http.Get(url)

我很抱歉,如果答案很明显,但这将是我的第一个程序,我使用任何语言的API。帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

需要发生的重要转变是围绕你的问题how can I fetch the redirected url,因为答案是:你没有。 Medium将发布到此URL。您需要在某处侦听此URL的Web服务器并解析响应。

由于您正在编写CLI工具而不是Web服务,因此这可能是进行身份验证的不恰当方式:Medium提供Self-Issued Access Tokens用于桌面应用程序。