斯堪的纳维亚字符在 go-lang go-instagram API 绑定中不起作用
Scandinavian characters not working in go-lang go-instagram API bindings
您好,我正在努力解决这个开源库 (https://github.com/carbocation/go-instagram/) 中多字节支持似乎存在的问题。我正在使用下面的代码来检索有关瑞典语标签 blue 的信息。我怎么在尝试时得到一个空数组。
fmt.Println("Starting instagram download.")
client := instagram.NewClient(nil)
client.ClientID = "myid"
media, _, _ := client.Tags.RecentMedia("blå", nil)
fmt.Println(media)
我已经尝试通过浏览器使用 api 并且有几张图片带有 标签。我也尝试过使用带有英文标签的代码片段,如蓝色和 returns 最新图片。如果有人能解释为什么会发生这种情况,我会很高兴。我想更新 lib 以支持多字节,但我没有所需的 go 知识。这是go的问题还是图书馆的问题?
谢谢
问题在validTagName()
:
// Strip out things we know Instagram won't accept. For example, hyphens.
func validTagName(tagName string) (bool, error) {
//\W matches any non-word character
reg, err := regexp.Compile(`\W`)
if err != nil {
return false, err
}
if reg.MatchString(tagName) {
return false, nil
}
return true, nil
}
在围棋中,\W
matches precisely [^0-9A-Za-z_]
。此验证检查不正确。
您好,我正在努力解决这个开源库 (https://github.com/carbocation/go-instagram/) 中多字节支持似乎存在的问题。我正在使用下面的代码来检索有关瑞典语标签 blue 的信息。我怎么在尝试时得到一个空数组。
fmt.Println("Starting instagram download.")
client := instagram.NewClient(nil)
client.ClientID = "myid"
media, _, _ := client.Tags.RecentMedia("blå", nil)
fmt.Println(media)
我已经尝试通过浏览器使用 api 并且有几张图片带有 标签。我也尝试过使用带有英文标签的代码片段,如蓝色和 returns 最新图片。如果有人能解释为什么会发生这种情况,我会很高兴。我想更新 lib 以支持多字节,但我没有所需的 go 知识。这是go的问题还是图书馆的问题?
谢谢
问题在validTagName()
:
// Strip out things we know Instagram won't accept. For example, hyphens.
func validTagName(tagName string) (bool, error) {
//\W matches any non-word character
reg, err := regexp.Compile(`\W`)
if err != nil {
return false, err
}
if reg.MatchString(tagName) {
return false, nil
}
return true, nil
}
在围棋中,\W
matches precisely [^0-9A-Za-z_]
。此验证检查不正确。