与此问题基本相同的问题,但在Python中寻找解决方案.如何解决Twitter OAuth?
理想情况下,我不想完成设置用户/登录界面和后端的箍,因为我正在做的工作是出于内部目的.
我还想绕过我需要将用户重定向到Twitter进行授权的部分.
谢谢
我一直在寻找解决方案,但我能找到的一切似乎都已经过时了.
我们使用Python API for GAE并以下列方式创建登录URL:
users.create_login_url(continue_url, "Yahoo", "http://yahoo.com/"),
Run Code Online (Sandbox Code Playgroud)
哪个适用于Google,Yahoo,Aol,Blogger,Flickr等网站......但我们知道Facebook和Twitter不能以这种方式运作.
任何人都可以展示如何使用Facebook,Twitter和LinkedIn在App Engine上验证用户的任何示例吗?
谢谢!
我正在使用Play Framework和play.libs.OAuth,尝试使用以下代码连接到Twitter:
public static void twitterConnect()
{
Response response;
ServiceInfo twitterServiceInfo = new ServiceInfo(
"https://api.twitter.com/oauth/request_token",
"https://api.twitter.com/oauth/access_token",
"https://api.twitter.com/oauth/authorize",
"ZA*****************Dw",
"Zy*************************************U4");
if(OAuth.isVerifierResponse()) {
// ...
} else {
OAuth twitter = OAuth.service(twitterServiceInfo);
response = twitter.retrieveRequestToken(); <-- NOT WORKING!!!
redirect(twitter.redirectUrl(response.token));
}
}
Run Code Online (Sandbox Code Playgroud)
但在标有< - NOT WORKING !!!的那一行; 我收到以下错误:
OAuth.Error:NOT_AUTHORIZED - 授权失败(服务器回复401).如果使用者密钥不正确或签名不匹配,则会发生这种情况.
我已经仔细检查了我的消费者密钥和秘密,以及请求,访问和授权URL,但无济于事.
关于我的代码有什么问题的任何想法?
我在twitter的开发者网站上创建了一个应用程序,生成了访问令牌/秘密;
使用python-twitter我可以更新应用程序帐户的状态:
import twitter
oauth = twitter.OAuth(OAUTH_TOKEN, OAUTH_SECRET, TWITTER_TOKEN, TWITTER_SECRET)
t = twitter.Twitter(auth=oauth)
t.statuses.update(status="I've updated my account status")
Run Code Online (Sandbox Code Playgroud)
我找不到用twython做这个的方法,期望这个工作:
from twython import Twython
twitter = Twython(twitter_token = TWITTER_TOKEN,
twitter_secret = TWITTER_SECRET,
oauth_token = OAUTH_TOKEN,
oauth_token_secret = OAUTH_SECRET)
print twitter.updateStatus(status="I'm not working")
Run Code Online (Sandbox Code Playgroud)
但我得到的只是:{u'request':你'/ 1/statuses/update.json',你'错误':你'不能认证你.'}
(我不想在twython的示例django应用程序中描述握手,我只是希望我的应用程序更新已连接帐户的状态而无需进一步的用户交互)
我有两个主机名由我的DNS发送到同一个IP:
我在我的Twitter应用程序中明确设置了我的回调和域名theark.info.确保我可以使用相同的Twitter App for Oauth的最佳方法是什么www.theark.info,因为我目前收到错误:
内部服务器错误
在我的DNS CNAME www中,我的DNS指向了theark.info
也许我需要使用Express和Javacsript对请求操纵DOM?
我对Meteor和Twitter有点问题.我想做的就是通过点击按钮发布推文.为此,我必须通过Oauth对Twitterservice进行身份验证.
目前,我正在以一种非常复杂的方式进行身份验证,从客户端到服务器并返回.但现在我找到了Meteor.loginWithTwitter功能.最初我认为这个功能只是用于使用Twitterkeys将您登录到自己的应用程序中,现在我不再那么肯定了.也许我也可以用它来解决我的问题.因为看起来Oauth-Process完全(以简单的方式)在Meteor中实现.
可悲的是,我找不到任何文档或示例,只需登录并获得最终的oauth_token.所以我从Meteor得到的所有东西然后我尝试以下代码,这是错误消息:
Erromessage:Accounts.ConfigError {message:"Service not configured"}
Meteor.loginWithTwitter( function(err){
if (err){
console.log(err)
}else{
console.log("yeah");
}
});
Run Code Online (Sandbox Code Playgroud)
我知道我必须在某个地方输入我的Appinformation,比如Consumer键,但我不知道在哪里.有人可以帮助我,并为我知道一些例子吗?或者知道我是否走在正确的轨道上?
谢谢和问候菲利普
我不是专业人士,但目前,我在我的网站上使用Twitter API V1从用户的Twitter帐户获取基本数据.
我使用基本的json从https://api.twitter.com/1/users/show.json?screen_name=katyperry获取内容,它可以正常工作.
但是,随着推出Twitter API V1.1(https://dev.twitter.com/docs/api/1.1),我的获取数据的方法已不再可行.
我试过(https://dev.twitter.com/docs/api/1.1/get/users/show),我甚至无法进入https://api.twitter.com/1.1/users/show页面. json?screen_name =验证它显示:
{"errors":[{"message":"Bad Authentication data","code":215}]}
Run Code Online (Sandbox Code Playgroud)
根据我的理解,我需要将其链接到Twitter应用程序并进行身份验证,我该如何做?
我不再能够使用我通常使用基本php获取json文件的方法吗?有人能找到我替代获取用户信息的方法吗?
当我尝试使用tweepy进行twitter身份验证时,我收到以下错误.
File "/usr/local/lib/python2.7/dist-packages/tweepy/models.py", line 146, in followers
return self._api.followers(user_id=self.id, **kargs)
File "/usr/local/lib/python2.7/dist-packages/tweepy/binder.py", line 197, in _call
return method.execute()
File "/usr/local/lib/python2.7/dist-packages/tweepy/binder.py", line 173, in execute
raise TweepError(error_msg, resp)
tweepy.error.TweepError: Not authorized.
Run Code Online (Sandbox Code Playgroud)
我不是在构建一个Web应用程序.因此,身份验证更简单.
consumer_key="----------"
consumer_secret="----------"
access_token="--------------"
access_token_secret="-----------------"
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
api.get_user('---').followers()
Run Code Online (Sandbox Code Playgroud) 我正在编写一个应该获取特定Twitter用户的推文的应用程序.所以我必须首先收集屏幕名称然后才能获取推文.我尝试使用以下代码.
package gethometimeline;
import twitter4j.*;
import java.util.*;
import twitter4j.conf.ConfigurationBuilder;
import twitter4j.Status;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import java.util.List;
public class GetUserTimeLine {
public static void main(String[] args) {
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)
.setOAuthConsumerKey("")
.setOAuthConsumerSecret("")
.setOAuthAccessToken("")
.setOAuthAccessTokenSecret("");
TwitterFactory tf = new TwitterFactory(cb.build());
Twitter twitter = tf.getInstance();
try {
List<Status> statuses;
Scanner input = new Scanner(System.in);
System.out.println("Enter Twitter Screen Name: ");
String user = input.nextLine();
if (args.length == 1) {
user = args[0];
statuses = twitter.getUserTimeline(user);
} else { …Run Code Online (Sandbox Code Playgroud) 我正在开发Twitter API,一些API得到了回应。但是statuses/home_timeline.jsonapi和其他api没有得到响应。
出现错误:
{"errors":[{"code":220,"message":"Your credentials do not allow access to this resource."}]}
Run Code Online (Sandbox Code Playgroud)
我正在成功获取访问令牌,并将该访问令牌用于statuses/home_timeline.json和其他一些api。但是这些都超过了错误。我已经用我的帐户登录了。
我发现了很多网址,但我没有从这些网址获得答案。
我的Accesstoken代码是:
//Get twitter access token
func getAccessToken() {
//RFC encoding of ConsumerKey and ConsumerSecretKey
let encodedConsumerKeyString:String = "f4k***********0".addingPercentEncoding(withAllowedCharacters: CharacterSet.urlHostAllowed)!
let encodedConsumerSecretKeyString:String = "OD**************ln".addingPercentEncoding(withAllowedCharacters: CharacterSet.urlHostAllowed)!
print(encodedConsumerKeyString)
print(encodedConsumerSecretKeyString)
//Combine both encodedConsumerKeyString & encodedConsumerSecretKeyString with " : "
let combinedString = encodedConsumerKeyString+":"+encodedConsumerSecretKeyString
print(combinedString)
//Base64 encoding
let data = combinedString.data(using: .utf8)
let encodingString = "Basic "+(data?.base64EncodedString())!
print(encodingString)
//Create URL request
var request = URLRequest(url: …Run Code Online (Sandbox Code Playgroud)