斯堪的纳维亚字符不适用于go-lang go-instagram API绑定

时间:2015-11-21 14:51:41

标签: go instagram instagram-api

您好,我正试图解决这个开源库(https://github.com/carbocation/go-instagram/)中多字节支持似乎存在问题的问题。我使用下面的代码来检索有关瑞典语中蓝色标签的信息。尝试时我怎么得到一个空数组。

fmt.Println("Starting instagram download.")
client := instagram.NewClient(nil)
client.ClientID = "myid"
media, _, _ := client.Tags.RecentMedia("blå", nil)
fmt.Println(media)

我尝试过在浏览器中使用api,并且标签上标有多张图片。我也尝试使用带有英文标签的代码片段,如蓝色,并返回最新的图片。如果有人能解释为什么会发生这种情况,我会很高兴。我喜欢更新lib所以它支持多字节,但我没有得到所需的知识。这是一个问题还是库的问题?

谢谢

1 个答案:

答案 0 :(得分:1)

问题出在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
}

在Go中,\W matches precisely [^0-9A-Za-z_]。此验证检查不正确。