我正在尝试用tweepy库发布推文.我用这个代码:
import tweepy
CONSUMER_KEY ="XXXX"
CONSUMER_SECRET = "XXXX"
ACCESS_KEY = "XXXX"
ACCESS_SECRET = "XXXX"
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_KEY, ACCESS_SECRET)
api = tweepy.API(auth)
api.update_status('Updating using OAuth authentication via Tweepy!')
Run Code Online (Sandbox Code Playgroud)
但是当我运行应用程序时,我收到此错误:
raise TweepError(error_msg, resp)
TweepError: Read-only application cannot POST.
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?
我一直在使用旧的url api(v1)获取给定网址的计数,最近我还需要获得重新推文并开始搜索.
这是我现在正在使用的确切网址:http://urls.api.twitter.com/1/urls/count.json? url = http://google.com
正如我在一些阅读中看到的那样,v1 api已被弃用,但至少它仍在使用.
我在twitter的开发页面上发现了一些问题:
https://dev.twitter.com/discussions/12643
这些是一些旧问题,并没有具体解决问题.我的意思是,最接近的解决方案是使用搜索API(搜索/推文),这可能是好的,但不是urls/count方法的完全替代品.
请注意,Twitter的搜索服务以及扩展名为Search API并不是Tweets的详尽来源.并非所有推文都会通过搜索界面编入索引或提供.
它还有每个'页面'最多100个结果的限制,即使它抛出链接以获取下一组对象,这很好但是当搜索达到100万个结果时我需要将页面翻到现在我得到了多少推文,并且要求api ...
我在Twitter上使用流api建议的dev页面上寻找一些问题,我尝试过使用(状态/过滤器),但是如果将URL作为轨道参数(他们说这是跟踪的关键字),那么效果不佳).
所以,任何使用旧网址/计数的人都已经找到了新apiv1.1的可靠替代方案,特别是为了获取给定网址的推文和重新推文?
是否有任何特定的应用程序,网站或将推文转换为图像的东西?我想在Telegram,Whatsapp等其他应用程序中分享推文.先谢谢
我试图通过提供的TWTRComposer类使用TwitterKit撰写推文.这是我打电话的功能:
-(void) tweet:(UIViewController *) root {
TWTRComposer *composer = [[TWTRComposer alloc] init];
[composer setText:@"just setting up my Twitter Kit"];
// Called from a UIViewController
[composer showFromViewController:root completion:^(TWTRComposerResult result) {
if (result == TWTRComposerResultCancelled) {
NSLog(@"Tweet composition cancelled");
}
else {
NSLog(@"Sending Tweet!");
}
}];
}
Run Code Online (Sandbox Code Playgroud)
这有两个问题:
showFromViewController立即调用方法中的完成块,结果类型为TWTRComposerResultCancelled.我有一种感觉,这可能与Twitter的登录问题有某种关系.我正在处理的应用程序不包括使用Twitter注册/登录.但是,我的印象是TWTRComposer处理所有登录.
任何帮助都非常感谢,谢谢你的阅读!
我试图从unicode tweet文本中删除表情符号,并使用python 2.7打印出结果
myre = re.compile(u'[\u1F300-\u1F5FF\u1F600-\u1F64F\u1F680-\u1F6FF\u2600-\u26FF\u2700-\u27BF]+',re.UNICODE)
print myre.sub('', text)
Run Code Online (Sandbox Code Playgroud)
但似乎几乎所有的字符都从文本中删除.我从其他帖子中查了几个答案,不幸的是,这些都没有在这里工作.我在re.compile()中做错了吗?
这是一个删除所有字符的示例输出:
“ ' //./” ! # # # …
Run Code Online (Sandbox Code Playgroud) 我是后台任务的新手.我有一个小作品,我正在获取推文,如果我的应用程序是在后台模式,那么它也应该提取推文,但我不知道如何.
我在Appdelegate中使用了简单的Timer didFinishLaunchOption方法.当我关闭应用程序时,它不起作用.我是新手,所以请任何建议.以下是我的代码:
Timer.scheduledTimer(timeInterval: 10, target: self, selector: #selector(getTweets), userInfo: nil, repeats: true).
func getTweets() {
let locationName = Helper.sharedInstance.userDefault.value(forKey: ModelKey.currentLocation) as? String
let accessToken = Helper.sharedInstance.userDefault.value(forKey: ModelKey.twitterAccessToken) as? String
if (locationName == "Bengaluru" && nil != accessToken) || (locationName == "Bangalore" && nil != accessToken){
tweetModel.getTweets(accessToken: accessToken!, city: ModelKey.blrcitytraffic, cityName: "Bengaluru")
}
}
Run Code Online (Sandbox Code Playgroud)
文本到语音也在那里但是当我关闭应用程序然后它停止说话.如果我不使用应用程序,那么它也可以获取推文,文本到语音应该使用后台模式.这有多长时间了?
我似乎在网上找不到任何关于这个主题的帖子或视频,所以我开始怀疑这是否不可能。Unity 中有关“表情符号”的所有内容都只是 spritesheet 的简单实现,然后使用 like 手动索引它们<sprite=0>。我正在尝试从 Twitter 中提取推文,然后使用表情符号显示其文本,因此显然这对于 unicode 支持的 1500 多个表情符号来说是不可行的。
我相信我已经使用默认的 Windows 表情符号字体 Segoe UI Emoji 正确创建了 TMP 字体资源,并且看起来使用我在在线 unicode 数据库上找到的一些 unicode 十六进制范围,我能够在字体中检测到 1505 个表情符号。

但运行游戏后,我仍然遇到同样的错误The character with Unicode value \uD83D was not found in the [SEGOEUI SDF] font asset or any potential fallbacks. It was replaced by Unicode character \u25A1 in text object
在控制台中,推文文本的输出如下所示:#cat #cats #CatsOfTwitter #CatsOnTwitter #pet \nLike & share , Thanks!\uD83D\uDE4F\uD83D\uDE4F\uD83D\uDE4F
从网上的一些资料和 unicode 的基本知识来看,我推测问题是在推文正文中,表情符号采用 UTF-16 代理对或其他形式,其中\uD83D\uDE4F一个表情符号在哪里,但我的表情符号字体是 UTF-32 ,所以它正在寻找 …
我在Apache Nifi中使用GetTwitter处理器使用UserId处理实时推文。最初它可以正常工作,但几个小时后仍未从Twitter检索到任何推文。请问我为什么会遇到这个问题。
注意: 由于我正在使用25000用户ID从他们那里获取实时推文。正如我所提到的,一些博客显示5000 UserId是GetTwitter处理器的最大限制。我使用具有相同访问凭据的5个GetTwitter处理器将25000个用户ID分为5个部分。
我正在我的应用程序中撰写一条推文,然后启动 Twitter 应用程序以在用户的个人资料上创建该推文。以下是编写 Tweet 和启动 Twitter 应用程序的代码
TweetComposer.Builder builder = new TweetComposer.Builder(this).text(tweetText);
Intent intent = builder.createIntent();
startActivityForResult(intent, TWEET_REQUEST_CODE);
Run Code Online (Sandbox Code Playgroud)
然后我通过以下代码阅读推文是否成功创建:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode = TWEET_REQUEST_CODE && resultCode == RESULT_OK) {
//do some operation
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,我得到resultCode = RESULT_CANCELED的onActivityResult,而不是RESULT_OK不顾鸣叫在Twitter的应用程序成功创建并出现在用户的时间线,因此这个问题为什么我会得到结果取消了,而不是RESULT_OK?我尝试通过检入data对象来查找错误原因,onActivityResult但它也为空。有没有其他方法可以找到有关应用程序发送原因的更多信息RESULT_CANCELED?
另外,我没有在我的应用程序中处理用户登录,而是让 Twitter 应用程序为我处理。以下是 Fabric 的设置代码:
TwitterAuthConfig authConfig = new TwitterAuthConfig(TWITTER_KEY, TWITTER_SECRET);
Fabric.with(this, new Twitter(authConfig), new TweetComposer());
Run Code Online (Sandbox Code Playgroud)
Twitter SDK …
我是个新手,所以请原谅我的无知。
我在我的个人 Twitter 帐户上创建了一个开发者帐户,我的最终目标是让另一个帐户偶尔发推文。我正在使用 tweepy 并成功地发布了一些推文,尽管是从我的帐户中进行的。
Twitter 开发者帐户可以获得他们的 API 密钥和秘密,以及访问密钥和秘密。我想要弄清楚的是如何获取我的机器人帐户的密钥以使其而不是我的帐户发推文。在阅读了无数的在线页面和文档之后,似乎有一种方法可以通过三足身份验证和基于密码的身份验证来对另一个用户进行身份验证,这似乎是实现我的目标的正确途径。
然而,我不知道从这里该去哪里。三足身份验证页面要求提供各种必填字段,我不知道要填写什么(回调 URL 和网站 URL)。此外,文档将该过程描述为需要由开发帐户启动的过程,而我根本不知道如何启动该过程。
对于该怎么做有任何帮助或指导吗?我的 tweepy 脚本已完全完成,只需连接到 Twitter API 即可。
谢谢。
编辑和解决方案(2021 年 3 月 18 日): 感谢 Sim 对本文的评论,我能够使用 Tweepy 派生一个 python 脚本,以使用基于 pin 的身份验证来授权机器人,可以在此处找到。无论如何,我都会阅读这篇文章,但一旦它开始告诉您创建 .js 和 .json 文件,就停下来并使用我的脚本。这对我有用。