#r #meetup
#r #встреча
Вопрос:
Я пытаюсь использовать пакет meetupr из этого репозитория: https://github.com/rladies/meetupr . Согласно ReadMe, токен создается в первый раз при запуске функции meetupr. В моем случае на сервере Meetup возникли проблемы во время использования пакета, из-за чего я не смог войти в систему и сгенерировать токен. Теперь при попытке запустить meetupr я получаю сообщение об ошибке
Cannot read token from alleged .rds file:
~/.local/share/meetupr/meetupr-token.rds
Файл, упомянутый в этом сообщении об ошибке, пуст.
Эта ошибка возникает, например, при запуске:
library(meetupr)
find_groups(text = "book")
ОС: Ubuntu 20.04
R: версия 4.1.2
Браузер: Firefox 94.0
Я уже пытался remove.packages("meetupr")
и install.packages("meetupr")
снова, но это не помогло.
Как мне повторно запустить функцию аутентификации, чтобы создать токен в этом файле?
Комментарии:
1. Итак, судя по этой конструкции пути, вы, вероятно, работаете на Mac или Linux, но кроме этого мы не можем многое сказать о вашей настройке. В тексте Github говорится, что файлы должны быть сохранены в результате
rappdirs::user_data_dir("meetupr", "meetupr")
. Вам нужно показать информацию о ваших настройках и полный вывод вашего кода и результатов на консоль.2. Я добавил информацию о своей операционной системе и версии R. Полный вывод — это тот, который я указал в первоначальной публикации.
rappdirs::user_data_dir("meetupr", "meetupr")
просто выдает местоположение каталога, в котором сохранен пакет, то есть~/.local/share/meetupr/
.
Ответ №1:
Удаление .rds
файла, расположенного в папке, которая возвращается следующей командой, должно помочь:
rappdirs::user_data_dir("meetupr", "meetupr")
Если вы ничего не измените, при первом запуске функции meetupr вам будет предложено зайти в ваш браузер, и будет создан токен. Он будет сохранен на диск в каталоге приложения, как определено rappdirs::user_data_dir(«meetupr», «meetupr»)
(Источник: meetupr README)
Итак, я думаю, что произошло то, что, хотя аутентификация не была успешной, файл все еще был создан, но без действительного токена внутри. meetupr
считает, что если у вас есть файл, у вас есть действительный токен. Удаление файла должно повторно запустить поток oauth.
Комментарии:
1. Я напрямую удалил всю папку (
~/.local/share/meetupr/
), и это сработало, спасибо!
Ответ №2:
Вы не описали подробно, какими были все ваши действия и что говорили вам ваши системные приложения. Я предлагаю пример того, что вы могли бы предложить. Очевидно, что вы бы не опубликовали то же самое, но это должно дать вам пример того, как может выглядеть более полное описание всего процесса:
Я не могу воспроизвести эту ошибку, запустив R 4.0.4 в Ubuntu 18.04 с Chrome в качестве браузера по умолчанию; После установки пакета на его страницу github и запуска этого кода я сначала вижу это сообщение …
… и после нажатия кнопки разрешить появляется новая страница …
И после закрытия этой страницы в соответствии с инструкциями я вижу это на консоли:
> find_groups(text = "book")
Adding ~/.local/share/meetupr/meetupr-token.rds to .gitignore
Waiting for authentication in browser...
Press Esc/Ctrl C to abort
Authentication complete.
Downloading 16722 record(s)...
Error in curl::curl_fetch_memory(url, handle = handle) :
Operation was aborted by an application callback
Я устал ждать, пока загрузится столько записей, нажал escape и побежал:
`meetupr-token` <- readRDS("/home/david/.local/share/meetupr/meetupr-token.rds")
`meetupr-token`
$`3a1a-munged--7b8e764968950`
<Token>
<oauth_endpoint>
authorize: https://secure.meetup.com/oauth2/authorize
access: https://secure.meetup.com/oauth2/access
<oauth_app> meetup
key: 2vag-munged-b32tca763m1
secret: <hidden>
<credentials> access_token, refresh_token, token_type, expires_in
---
Таким образом, файл не пуст. Затем я повторно запустил вызов find_groups
функции, используя менее широкий поисковый запрос, и получил (без какой-либо всплывающей страницы браузера):
find_groups(text = "Tai chi")
Downloading 863 record(s)...
# A tibble: 863 × 21
id name urlname status lat lon city state country created
<int> <chr> <chr> <chr> <dbl> <dbl> <chr> <chr> <chr> <dttm>
1 3.08e7 Beac… Beachs… active 35.2 -83.4 Fran… "NC" USA 2018-12-24 04:28:57
2 3.17e7 Tai … Tai-Ch… active 26.2 -80.3 Fort… "FL" USA 2019-04-25 16:10:30
3 3.46e7 The … the-ta… active 33.2 -117. Ocea… "CA" USA 2021-01-01 01:10:51
4 8.42e5 The … sifu-t… active 40.9 -73.8 Bron… "NY" USA 2007-11-26 02:16:11
5 2.68e7 Yang… Yangsh… active 51.8 -0.83 Ayle… "B9" United… 2017-12-07 09:00:56
6 3.40e7 Drag… Dragon… active 41.6 -72.8 Berl… "CT" USA 2020-08-02 11:18:44
7 2.68e7 Tai … Tai-Ch… active -33.9 18.5 Cape… "" South … 2017-12-08 23:39:01
8 2.39e7 The … The-Sc… active 50.8 -0.15 Brig… "P6" United… 2017-05-21 14:02:24
9 2.26e7 Auck… Auckla… active -36.8 175. Auck… "" New Ze… 2017-02-26 01:06:20
10 1.87e7 Tai … Larkers active 45.0 -93.2 Minn… "MN" USA 2015-06-26 16:27:37
# … with 853 more rows, and 11 more variables: members <int>, timezone <chr>,
# join_mode <chr>, visibility <chr>, who <chr>, location <chr>,
# organizer_id <int>, organizer_name <chr>, category_id <int>,
# category_name <chr>, resource <list>
Комментарии:
1. Я установил и запустил пакет в первый раз несколько дней назад и не могу воспроизвести, что именно произошло. Я помню, что меня перенаправили в мой браузер, но сервер Meetup не работал (или, по крайней мере, вход в систему не работал). Когда я теперь пытаюсь снова использовать пакет, я получаю сообщение об ошибке. Я не знаю, какую другую важную информацию я могу предоставить вам в своем сообщении. Я просто хочу знать, как снова запустить функцию аутентификации, например, вернув пакет или иным образом. Я попытался удалить и переустановить пакет, но это не помогло.
2. Если бы это случилось со мной, я бы удалил файл rds и каталог и попробовал снова.