2015-11-21 1 views
0

Привет, я пытаюсь обернуть голову вокруг проблемы, с которой связано многобайтовая поддержка в этой библиотеке с открытым исходным кодом (https://github.com/carbocation/go-instagram/). Я использую приведенный ниже код, чтобы получить информацию о ярлыке синего цвета на шведском языке. Как только я получаю пустой массив при попытке.Скандинавские символы, не работающие в go-lang go-instagram API-привязки

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

Я пробовал использовать браузер в браузере и несколько изображений с тегом. Я также попытался использовать фрагмент кода с тегами на английском языке, как синий, и он также возвращает последние фотографии. Я был бы рад, если бы кто-нибудь мог объяснить, почему это может произойти. Id нравится обновлять lib, поэтому он поддерживает многобайтовые, но у меня нет необходимых знаний. Это проблема или проблема с библиотекой?

Спасибо

+0

'RecentMedia()' возвращает ошибку в качестве последнего значения; вы выбрасываете эту ошибку. Какая ошибка? –

+0

Я собираюсь проверить это. жаль, что не проверил сразу. –

+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_]. Эта проверка проверки неверна.

+0

Спасибо, что вы должны быть легко исправлены. Вы хотите сделать req req, или я должен? –

+0

Идите прямо вперед. Я не использую эту библиотеку и не могу проверить результаты. Лично я полностью удалю эту функцию. Не проверяйте «я думаю, что Instagram примет это». Просто спросите Instagram. Если он не примет его, вы получите сообщение об ошибке. –

+0

Согласен. Или, если вы проверите хотя бы опцию по умолчанию, которую вы не проверяете. –

Смежные вопросы