来源: https : //github.com/abraham/twitteroauth/pull/137
在上述链接中,Github 用户 Robhaswell 对亚伯拉罕的 TwitterOAuth 代码进行了调整,并添加了upload上传图片的功能。这是对框架的一个很好的补充,但是,新代码没有附加适当的文档或示例,所以我在使用该函数时遇到了一些麻烦:
$image = 'weather.jpg';
$response = $tweet->upload('statuses/update_with_media', array(
'status' => 'This is a test',
'media[]' => "@{$image};type=image/jpeg;filename={$image}")
);
Run Code Online (Sandbox Code Playgroud)
而weather.jpg 与具有上述代码的文件位于同一文件夹中。
旁注:代码将通过 cron 执行,并将服务器上始终存在的图像上传到 twitter。只是为了澄清用户不必先上传他们的图像,然后通过此脚本将它们提交到 Twitter。
任何人都可以指出我正确的方向吗?
编辑:我知道这个功能不是原始版本的一部分,我已经根据 Robhaswell 的调整更新了 twitteroauth 和 OAuth 代码。
我想实时收听推文,这意味着当有人发推文时我想看到该推文。
不过,我可以使用 twitter4j 库从我的新闻提要中获取推文。这是代码。
package twitteroperation;
import java.util.List;
import twitter4j.Status;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.conf.ConfigurationBuilder;
public class TwitterOperation {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws TwitterException {
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)
.setOAuthConsumerKey("")
.setOAuthConsumerSecret("")
.setOAuthAccessToken("")
.setOAuthAccessTokenSecret("");
TwitterFactory tf=new TwitterFactory(cb.build());
twitter4j.Twitter tw=tf.getInstance();
List<Status> statuses= tw.getHomeTimeline();
for (Status status1 : statuses) {
System.out.println(status1.getUser().getName() + ":" + status1.getText());
}
}
}
Run Code Online (Sandbox Code Playgroud)
我发现我必须使用 Streaming API 来实时访问推文。但我在 java 中找不到任何用于访问实时推文的示例代码。
使用 Twitter API,我试图代表 Twitter 用户发布一条推文。
我正在使用节点和passport-twitter和twit模块。
一些资源:
我按照上面的教程成功通过了passport-twitter 的身份验证。
我还在我的 Twitter 开发者帐户上使用 twit成功发布了帖子。
但是,我无法将这两件事结合起来;试图代表另一个用户在 Twitter 上发帖。为此,我需要获取用户的访问令牌和访问令牌秘密。然后,我需要使用该信息向 Twitter API 发出发布请求。
我不确定将 post 请求放在 Passport-twitter 代码的何处。我尝试将它放在第二个路由中,这是 Twitter 在用户登录后将用户重定向到的 URL。
app.get('/twitter/login', passport.authenticate('twitter'))
app.get('/twitter/return', passport.authenticate('twitter', {
failureRedirect: '/'
}), function(req, res) {
//Post using twit
//grab access token and access token secret from the request query
const access_token …Run Code Online (Sandbox Code Playgroud) 我希望能够从 dotnet core API 服务搜索 twitter 句柄。我查看了users/search.json的 twitter 文档,并请求、借用和窃取了我可以从 stackoverflow 等获取的代码示例(见下文),但我得到的只是:
\n\n{"errors":[{"code":215,"message":"Bad Authentication data."}]}
当我执行生成的curl命令时。
\n\n抱歉,代码有点混乱,但是有人能看出我做错了什么吗?或者更好的是,如果有一个图书馆可以为我做这件事,我一直找不到一个,那就更好了。
\n\nusing Xunit;\nusing System;\nusing System.Linq;\nusing System.Collections.Generic;\nusing OAuth; // OAuth.DotNetCore, 3.0.1\nusing System.IO;\nusing System.Net;\n\nnamespace TwitterLibTest\n{\n public class BuildHeaderTest\n { \n private static readonly string consumerKey = "...";\n\n private static readonly string consumerSecret = "...";\n\n private static readonly string method = "GET";\n\n private static readonly OAuthSignatureMethod oauthSignatureMethod = OAuthSignatureMethod.HmacSha1;\n\n private static readonly string oauthVersion = "1.0a";\n\n [Fact]\n public void Header()\n {\n …Run Code Online (Sandbox Code Playgroud) 因此,我通过运行 AWS Amplify 创建了一个应用程序amplify init,按照以下步骤,我能够非常轻松地将 Facebook 和 Google 配置为身份验证提供商,因为它们在 Cognito 中作为联合提供商受到支持。然而,我不知道如何使用 Twitter 实现身份验证,并使其与 Cognito 一起工作,就像 Facebook/Google 身份验证的工作方式一样,因为它使用的是自定义 OAuth v1 流程。
有人做过吗?如果是的话,你可以推荐我哪些资源?我看到有一些教程将 Auth0 与 Cognito 集成,我知道 Auth0 支持 Twitter 登录,但是它们对活跃用户等有一些限制。所以如果我们能够自己处理这个问题而不必依赖另一个提供商,我将非常感激。
我尝试使用GSTwitPicEngine类https://github.com/Gurpartap/GSTwitPicEngine在twitter上分享图片
但是它给出错误
因为我们必须设置[twitpicEngine setAccessToken:token];
我是否正确,我使用_accessToken类SA_OAuthTwitterEngine作为标记
_accessToken在课堂上是私人的SA_OAuthTwitterEngine,我把它设置为公开的
@property (nonatomic, readonly) OAToken *accessToken;
@synthesize accessToken = _accessToken;
Run Code Online (Sandbox Code Playgroud)
然后在行动
twitPicEngine = [GSTwitPicEngine twitpicEngineWithDelegate:self];
[twitPicEngine setAccessToken:twitterObj.accessToken];
[twitPicEngine uploadPicture:[shareDict objectForKey:@"image"] withMessage:[shareDict objectForKey:@"image_msg"]];
Run Code Online (Sandbox Code Playgroud)
但是,当setAccessToken与日志一起时,应用程序崩溃
-[OAToken parameters]: unrecognized selector sent to instance 0x6327e30
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[OAToken parameters]: unrecognized selector sent to instance 0x6327e30'
Run Code Online (Sandbox Code Playgroud)
如果你能找到任何错误,请帮忙
阿米特巴图
我正在使用django-social-auth app(https://github.com/omab/django-social-auth)进行社交认证.
我向应用程序提供了consumer_key和consumer_secret.
当我写入登录到Twitter
http://127.0.0.1:8000/accounts/login/twitter的链接时,页面加载,好像有一个请求被发送,持续几秒钟,然后页面停止加载,没有任何重定向或任何其他反应
我希望能够将现有用户帐户连接到他的Twitter帐户.
我想为用户提供连接他的Twitter帐户的选项.在完成一次之后,我希望能够自动发布他的帐户.
我怎样才能做到这一点?
我一直在努力让passport.js/passport-twitter使用我的项目,使用Jared Hanson的漂亮的tutoral 和它的随之而来的要点.
不用说,要点工作得很好.我只是添加我的密钥,改变我的回调网址,它只是工作.
我已将/ etc/hosts中的URL"whackypants.dev"设置为127.0.0.1.这与gist示例一起工作正常.
我的问题是,在尝试将passport,passport-twitter和connect-ensure-login与我现有的应用程序集成时,我遇到了一些相当奇怪和不一致的错误.
当我在/ login上点击"使用twitter登录"时,按照预期,我将被带到twitter并获得一个不错的oauth令牌:
http://whackypants.dev:8080/auth/twitter/callback?oauth_token=I9sGWDKRyWCJcpM3nLx3Tt3sTGRhTVYUKj03ZYIcYk&oauth_verifier=qiRQt1DGpxH2QF4zHrbKbVGj0qXTy5y2S2Sh8Ts10x7
Run Code Online (Sandbox Code Playgroud)
然而,快递抛出一个500:
Express
500 failed to fetch user profile (status: 410 data: {"errors": [{"message":
"The Twitter REST API v1 will soon stop functioning. Please migrate to API v1.1.
https://dev.twitter.com/docs/api/1.1/overview.", "code": 68}]})
at /Users/doug/whackypants/node_modules/passport-twitter/lib/passport-
twitter/strategy.js:107:30
at passBackControl (/Users/doug/whackypants/node_modules/passport-
twitter/node_modules/passport-oauth/node_modules/oauth/lib/oauth.js:374:13)
at IncomingMessage. (/Users/doug/whackypants/node_modules/passport-
twitter/node_modules/passport-oauth/node_modules/oauth/lib/oauth.js:386:9)
at IncomingMessage.EventEmitter.emit (events.js:117:20)
at _stream_readable.js:910:16
at process._tickCallback (node.js:415:13)
Run Code Online (Sandbox Code Playgroud)
我本来希望gist示例抛出相同的错误.
甚至更奇怪:当我只使用localhost:8080/login我得到:
http://brandery-project.dev:8080/auth/twitter/callback?oauth_token=0PjNkHRMaKjG7KwlXXzUPpiFk6urANvClWK8inB58&oauth_verifier=7A2GtRUf1Q3B2HlxBVGQm4BAQIIEvdYIbBB2GZHBZ
Run Code Online (Sandbox Code Playgroud)
和一个完全不同的500错误:
Express
500 Error: failed to find request token in session
at Strategy.OAuthStrategy.authenticate (/Users/doug/whackypants/node_modules/passport-
twitter/node_modules/passport-oauth/lib/passport-oauth/strategies/oauth.js:124:54) …Run Code Online (Sandbox Code Playgroud) 在我的应用程序中,我想向Twitter朋友发送一条直接消息,邀请他们使用该应用程序.为了发送直接消息,我需要目标人员跟随用户.我怎么不想列出所有关注者,只列出用户也关注的关注者.有没有办法在iOS中获取此列表?
谢谢
twitter-oauth ×10
twitter ×6
oauth ×3
node.js ×2
.net-core ×1
api ×1
aws-amplify ×1
c# ×1
cocoa-touch ×1
ios ×1
ios4 ×1
java ×1
objective-c ×1
passport.js ×1
twitpic ×1
twitter4j ×1