在 golang 中打开一个 url 并读取重定向的 url

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


我一直按照说明进行操作,直到我可以使用秘密状态、重定向 url 和范围来构建 url。


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()

}

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


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

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


resp, err := http.Get(url)

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


呼啦一阵风
浏览 291回答 1
1回答

Qyouu

需要发生的重要转变是围绕您的问题how can I fetch the redirected url,因为答案是:您没有。Medium 将发布到此 URL。你需要在某个地方有一个网络服务器来监听这个 URL 并解析响应。由于您正在编写 CLI 工具而不是 Web 服务,因此这可能是进行身份验证的不适当方式:Medium 提供了用于桌面应用程序的自颁发访问令牌。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go