我想在我的应用程序中集成Twitter.我集成了相关文件并添加了libxml2库.我在"标题搜索路径"字段中包含了它的路径.当我尝试构建我的应用程序时,我收到错误显示LibXml/xmlreader.h: No Such file or Directory
.
任何人都可以帮助我.提前致谢.
我一直在使用Twitter测试应用程序的twitter API,我错过了用Charles(http://www.charlesproxy.com/)这样的软件代理我对twitter API的请求的能力.即使它具有SSL代理功能,Twitter似乎也不喜欢在签署请求的中间有不同的证书.有没有办法做到这一点?能够看到请求和Charles格式化JSON响应的方式等,我会非常有用......
在被授予对该用户帐户的访问权限后,是否有人能够为该用户获取OAuth访问令牌?
twitter提到在iOS文档中使用一个名为"Reverse Auth"的进程,但我似乎无法在其他任何地方找到它.
我感觉有点失落,所以如果任何人可以提供一些内部,将非常感激.
我正在尝试使用TweetSharp获取最近的200条推文,但由于某种原因它返回12.
var service = new TwitterService(
_consumerKey,
_consumerSecret,
tokenClaim,
tokenSecret
);
IAsyncResult result = service.BeginListTweetsOnUserTimeline(new ListTweetsOnUserTimelineOptions { Count = 200}
IEnumerable<TwitterStatus> tweets = service.EndListTweetsOnUserTimeline(result);
Run Code Online (Sandbox Code Playgroud)
任何想法为什么会这样?谢谢
更新
以下如何从TweetSharp的ListTweetOnHomeTimeline()方法获取最多800条推文?
IAsyncResult result =
_twitterService.BeginListTweetsOnUserTimeline(new ListTweetsOnUserTimelineOptions { Count = 200 });
IEnumerable<TwitterStatus> tweets = _twitterService.EndListTweetsOnUserTimeline(result).ToArray();
var tweet2 = _twitterService.ListTweetsOnUserTimeline(new ListTweetsOnUserTimelineOptions { Count = 200, MaxId = tweets.Last().Id });
return tweet2;
Run Code Online (Sandbox Code Playgroud)
tweet2是空的.
我正在按照很多说明从我的应用程序发出简单的推文.我已经在Twitter上注册了,但我不能发推文.我可以登录,但不能更新我的状态.这是登录的代码
private void twitterLogOn() {
Twitter twitter = new TwitterFactory().getInstance();
try {
twitter.setOAuthConsumer(consumerKey, consumerSecret);
rToken = twitter.getOAuthRequestToken(myCallBack);
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(rToken.getAuthenticationURL())));
} catch (IllegalStateException e) {
// access token is already available, or consumer key/secret is not
// set.
if (!twitter.getAuthorization().isEnabled()) {
System.out.println("OAuth consumer key/secret is not set.");
finish();
}
} catch (Exception e) {
Toast.makeText(Configuration.this,getString(R.string.networkError), Toast.LENGTH_SHORT).show();
}
}
Run Code Online (Sandbox Code Playgroud)
这似乎工作正常,但是当我在登录后返回我的应用程序时,应该执行下一个代码,始终以Toast为例结束.
public void onResume() {
super.onResume();
Uri uri = getIntent().getData();
if (uri != null) {
oauthVerifier = uri.getQueryParameter("oauth_verifier");
try {
Twitter tt …
Run Code Online (Sandbox Code Playgroud) 我在看这里推荐的oauth实现:
https://dev.twitter.com/docs/auth/oauth
Run Code Online (Sandbox Code Playgroud)
和路标等oauth库:
http://code.google.com/p/oauth-signpost/
Run Code Online (Sandbox Code Playgroud)
他们都谈到在oauth流程中使用客户端密钥,这意味着对于我的客户端应用程序,我需要将秘密存储在应用程序本身中.这可能有风险,因为有人可以从我的应用程序中获取秘密.在我的应用程序中存储秘密有什么方法吗?我误解了oauth流吗?
谢谢
当从服务器(例如Twitter和Facebook)处理OAuth时,您很可能会将用户重定向到要求获得应用程序权限的URL.通常,在单击链接后,您通过AJAX将请求发送到服务器,然后返回授权URL.
但是当你window.open
在收到答案时尝试使用时,你的浏览器会阻止弹出窗口,使其无效.当然,您可以将用户重定向到新的URL,但这会破坏用户体验,而且令人讨厌.您不能使用IFRAMES,但不允许使用IFRAMES(因为您无法看到位置栏).
那怎么办呢?
我已经设法在我的PHP web应用程序中使用Facebook系统编程登录.但现在我有点陷入最佳实践.
我是否必须将用户的userID保存到我的数据库,用户的电子邮件地址和/或姓名?我问这个是因为我正在考虑用户改变他们的电子邮件地址,如果是这样的话,他们下次无法登录.
我怎么知道当用户使用Facebook登录时,以及下次使用Twitter时,它是同一个用户?可能基于他的电子邮件地址?但我想如果你没有改变它,你的标准Facebook电子邮件是your.name@facebook.com,对吧?
我不是在这里要求代码,请提供一些经验或最佳实践.
提前致谢!
Stijn Hoste
我已经检查了几个相关问题以找到我的问题的答案,但都无济于事.这个问题我们可以从Twitter oauth API获取电子邮件ID吗?让我获得Twitter支持以允许我的应用程序的权限如下:
使用此doc作为指南和标记答案的代码(稍微修改一下)
var resource_url = "https://api.twitter.com/1.1/account/verify_credentials.json";
var postBody = "include_email=true";//
resource_url += "?" + postBody;
Run Code Online (Sandbox Code Playgroud)
生成签名并请求从Twitter获取用户的详细信息结果在我的MVC应用程序中401 Unauthorized.
但是,当我使用twitter签名生成器工具生成授权标头并使用fiddler向https://api.twitter.com/1.1/account/verify_credentials.json?include_email=true发出GET请求时,我收到了电子邮件只有一次,我必须在twitter中重新生成我的应用程序密钥才能再次获取它.
是否有关于如何生成有效签名并通过.Net TwitterAuthentication发出有效请求来检索Twitter用户电子邮件的文档?
我使用下面的代码,它有时工作,但它不稳定,当我运行程序有时我得到错误420与json解析错误,这不会给你很多提示如何解决它.知道我做错了什么吗?
错误是:
获取推文出错:错误:状态代码:420获取推文时出错:SyntaxError:位于0的JSON中出现意外的令牌E
var Twitter=require('twitter');
var lclconf = require('../config.json');
var client=new Twitter({
consumer_key: lclconf.twitter.consumer_key,
consumer_secret: lclconf.twitter.consumer_secret,
access_token_key: lclconf.twitter.access_token_key,
access_token_secret: lclconf.twitter.access_token_secret
});
stream.on("data", function(data){
console.log(data.id_str);
var tweet_id="https://api.twitter.com/1.1/statuses/oembed.json?id="+data.id_str;
request.get(tweet_id)
.end(function(err,res){
if(err){
console.log("Error from Twitter API: " + err);
}else{
//console.log(res.body);
io.emit('tweet',res.body);
}
});
});
stream.on('error', function(err){
console.log("Error getting tweets: "+err);
});
io.on('connection', function(client){
client.on("join", function(data){
console.log(data);
});
client.emit("join",{"message":"running"});
});
Run Code Online (Sandbox Code Playgroud)
也许如果有一种方法可以在发生错误时忽略它并继续进行,因为现在该过程已经停止.
更新:
在Twitter文档中有关于HTTP 420的信息但不确定如何修复它...
twitter-oauth ×10
twitter ×7
c# ×2
oauth ×2
objective-c ×2
ajax ×1
android ×1
asp.net ×1
express ×1
ios5 ×1
iphone ×1
javascript ×1
node.js ×1
oauth-2.0 ×1
php ×1
popup ×1
proxy ×1
security ×1
tweetsharp ×1
twitter4j ×1
twrequest ×1
window.open ×1