2014-09-15 22 views
8

Tôi đang theo dõi cập nhật mới nhất trên twitteR homepage và tôi không thể vượt qua quá trình ủy quyền.R Lỗi ủy quyền gói TwitteR

library(devtools) 
install_github("twitteR", username="geoffjentry") 

library(twitteR) 
api_key <- "XXXXXXXXXXXXXXXXX" 
api_secret <- "XXXXXXXXXXXXXXXXX" 
access_token <- "XXXXXXXXXXXXXXXXX" 
access_secret <- "XXXXXXXXXXXXXXXXX" 
setup_twitter_oauth(api_key, api_secret, access_token, access_secret) 

Đây là sản phẩm tôi nhận được trở lại:

[1] "Using direct authentication" 
Error in check_twitter_oauth() : OAuth authentication error: 
This most likely means that you have incorrectly called setup_twitter_oauth()' 

Tôi cũng đã cố gắng setup_twitter_oauth(api_key, api_secret), và đây là thông báo lỗi:

[1] "Using browser based authentication" 
Error in init_oauth1.0(endpoint, app, permission = params$permission) : 
client error: (401) Unauthorized 

Tôi không nghĩ rằng có bất kỳ tùy chọn nào khác trong setup_twitter_oauth. Có ai khác gặp lỗi này không?

+0

Bạn đã mua mã api và mã thông báo truy cập của riêng mình, phải không? Bạn không chỉ sử dụng "X" trong thực tế? Điều này sẽ rất khó để gỡ lỗi mà không có lỗi lặp lại. – MrFlick

+0

@MrFlick Có, tôi có khóa api và mã thông báo truy cập của riêng mình. Tôi chỉ sử dụng "X" làm trình giữ chỗ. Có cách nào để theo dõi lỗi không? – Boxuan

+1

Câu hỏi này có vẻ cụ thể đối với gói. Tôi khuyên bạn nên tìm kiếm trợ giúp trên [danh sách gửi thư twitteR] (http://lists.hexdump.org/listinfo.cgi/twitter-users-hexdump.org) hoặc nếu bạn cho rằng lỗi có thể sao chép được, hãy tạo [twitteR github vấn đề] (https://github.com/geoffjentry/twitteR/issues). Hãy chắc chắn rằng bạn đang chạy phiên bản hiện tại của 'httr'. – MrFlick

Trả lời

15

bộ callback url để http://127.0.0.1:1410 trong cài đặt ứng dụng trong twitter

+0

Nếu bạn đề xuất rằng dựa trên [vấn đề này] (https://github.com/hadley/httr/issues/156), nó sẽ giúp bao gồm điều đó như ngữ cảnh. – jbaums

0

tôi phải đối mặt với cùng một vấn đề và cố gắng tất cả tải httr mới nhất và các thư viện nhưng vẫn là vấn đề là ở đó. Sau đó, tôi tạo ra một APP mới trong twitter và sử dụng các khóa API và các thông tin khác trong mã và bây giờ vấn đề được giải quyết. Tôi đã sử dụng một APP mà tôi tạo ra 8 tháng trở lại .... tái tạo các thông tin đăng nhập API cũng có thể giải quyết cho APP hiện có.

5

Lỗi này xảy ra khi ứng dụng của bạn thiếu url gọi lại. Để giải quyết vấn đề này đi đến https://apps.twitter.com/ chọn ứng dụng của bạn và sau đó đi đến SETTINGS cuộn xuống để URL CALLBACK và nhập (http://127.0.0.1:1410). Điều này sẽ cho phép bạn chạy xác minh trình duyệt.

enter image description here

Hoặc bạn có thể nhập access_tokenaccess_secret trong R để kích hoạt xác minh tại địa phương.

consumer_key <- " YOUR CONSUMER KEY " 
consumer_secret<- " YOUR CONSUMER SECRET " 
access_token <- " YOUR ACCESS TOKEN " 
access_secret <- " YOUR ACCESS SECRET " 
setup_twitter_oauth(consumer_key, consumer_secret, access_token, access_secret) 
5

Tôi đã cố gắng thiết lập gọi lại URL để (http://127.0.0.1:1410), cập nhật tất cả các gói liên quan đến gói này. Không có gì giải quyết được vấn đề của tôi. sau đó tôi đã cài đặt gói httk httpuv và đã thực hiện các dòng bên dưới:

consumer_key <- " YOUR CONSUMER KEY "

consumer_secret<- " YOUR CONSUMER SECRET"

setup_twitter_oauth(consumer_key, consumer_secret, access_token=NULL, access_secret=NULL)

Nó hoạt động như vẻ đẹp.

Thực hiện thao tác trên sẽ dẫn đến trang web và bạn cho phép ứng dụng theo cách thủ công. Trong khi điều này có thể không phải là giải pháp cho câu hỏi, nó chắc chắn là một giải pháp cho rào cản xác thực.

+2

cảm ơn rất nhiều, điều này thực sự đã giúp! –

0

Hãy thử sử dụng này

setup_twitter_oauth (apiKey, apiSecret, access_token = accessToken, access_secret = accessSecret)

0

tôi đã nhận nó cố định bằng cách tạo ra bằng tay thẻ truy cập tại trang web apps.twitter.com và thông qua đó như là đối số api sẽ buộc sử dụng xác thực cục bộ thay vì xác thực trình duyệt.

3

thử install.packages('base64enc'). nó làm việc cho tôi. tìm thấy nó trong cuộc thảo luận github.

1

Tôi gặp vấn đề tương tự. Đã thử tất cả các đề xuất tôi tìm thấy trên mạng nhưng vô ích.

Có lẽ nó phải làm với URL gọi lại, tôi đã bỏ qua nó trước đó.

Đã tạo một ứng dụng mới, lần này bao gồm ứng dụng - http://127.0.0.1:1410 và nó đã hoạt động đối với tôi.

Đây là mã tôi đã sử dụng:

library(httr) 
library(devtools) 
library(twitteR) 
library(base64enc) 

consumer_key <- 'XXXXXXXXXXXX' 
consumer_secret <- 'XXXXXXXXXXXX' 
access_token <- 'XXXXXXXXXXXX' 
access_secret <- 'XXXXXXXXXXXX' 
setup_twitter_oauth(consumer_key , consumer_secret, access_token, access_secret) 

tw <- searchTwitter("LFC",n=100,lang="en") 

Hy vọng nó giúp.

0

tôi gặp phải lỗi tương tự: "Lỗi trong check_twitter_oauth(): OAuth xác thực lỗi: này rất có thể có nghĩa là bạn đã sai gọi setup_twitter_oauth() '" và sau khi thử các giải pháp khác nhau được đăng ở đây trong stackoverflow, Tôi vẫn không giải quyết được vấn đề. Tôi đã tái sinh khóa của người dùng của tôi và bí mật của người tiêu dùng và cung cấp nó vào dòng sau trong kịch bản R của tôi:

consumer_key <- 'XXconsumer_keyXX' 
consumer_secret <- 'XXconsumer_secretXX' 
access_token <- 'XXaccess_tokenXX' 
access_secret <- 'XXaccess_secretXX' 
setup_twitter_oauth(consumer_key , consumer_secret, access_token, access_secret) 

Những gì tôi đã làm để làm cho nó đúng và nhận được cái bắt tay xác thực OAuth là cung cấp các twitter cung cấp chính của người tiêu dùng, bí mật của người tiêu dùng, mã thông báo truy cập, truy cập giá trị bí mật trực tiếp đến dòng thứ 5 ở trên, tức là,

setup_twitter_oauth("xxconsumer_key_xx", "xxconsumer_secretxx", "xxaccess_tokenxx", "xxaccess_secretxx") 

Điều này phù hợp với tôi và hy vọng nó sẽ giúp bạn.

0

Tôi cũng gặp sự cố này và đã thực hiện mọi thứ được đăng ở đây để không có kết quả. Cuối cùng tôi đã nhìn vào Windows Firewall và nhận ra rằng tôi đã không tạo ngoại lệ cho Rstudio. Tất cả mọi thứ hoạt động ngay bây giờ!