标签: twitter-oauth

Twitter API - "无效或过期令牌"的原因

导致令牌过期的可能原因是什么(除了让用户取消授权应用程序)?

我的问题是,我有一个拥有数千名用户的应用程序,所有API通信都运行良好,但对于某些用户我收到invalid or expired token错误,我的初期虽然是他们是取消了对应用程序的身份验证的用户,但我已经联系了一些他们并没有撤销访问权限.

有什么想法可以导致其他问题吗?

twitter twitter-oauth

25
推荐指数
4
解决办法
4万
查看次数

使用社交框架检索Twitter OAuth令牌(iOS6)

关于如何使用iOS社交框架获取Twitter OAuth令牌,我有点困惑.假设我在iOS6上设置了Facebook和Twitter帐户,我可以获得ACAccount.当我检查Facebook ACAccount的ACAccountCredential时,OAuthToken属性已设置,但对于Twitter ACAccount,则不是.Twitter ACAccount的每个其他细节都设置为ACAccountCredential不是.

为了增加混乱,我遇到了一篇关于使用Reverse Auth来获取OAuth令牌的文章(https://dev.twitter.com/docs/ios/using-reverse-auth).本文讨论调用https://api.twitter.com/oauth/request_token并传入oauth_*params params的字典,例如consumer_key,nononce等.但是,确实将我的ACAccount附加到SLRequest服务于此目的?无论如何,当我尝试这个时,我收到错误"无法验证oauth签名和令牌".

所以我的问题是我应该在ACAccountCredential中看到Twitter OAuth令牌,还是应该使用Reverse Auth?如果是这样,我是否需要显式传递包含oauth_*参数的NSDictionary或附加ACAccount足够?

ios twitter-oauth social-framework

23
推荐指数
2
解决办法
1万
查看次数

存储oauth和本地身份验证方法的最佳实践?

如果我要运行允许用户通过"本地"用户名/密码组合以及任何数量的OAuth服务进行身份验证的服务 - 该用户数据模型可能是什么样的?

通常,如果我自己处理所有登录,在"用户"数据库(假设MySQL)中,用户名和密码字段将被要求为非空.但是,如果我的用户只想登录Facebook,我只会存储Facebook自动令牌,而不是本地没有任何用户名/密码.

此外,如果他们想要使用Twitter信用卡登录,然后使用tumblr,然后进行任何当天的服务,该怎么办?我可以为每种类型保留一个字段,但这可能会有点笨拙.由于缺乏更好的术语,我是否会更好地保留另一个"身份验证方法"表,因此我可以在用户之间建立一对多关系以及如何对其进行身份验证?

基本上,我问的是,是否有人知道这种情况下的行业标准最佳实践,或者可以指出我正确的方向(或者如果某人已经实现了类似这样的适合他们的事情).一个用户,多种身份验证方法 - 保存该信息的最佳方式是什么?

如果我做出的任何假设无效,我道歉,请纠正我.

mysql facebook oauth-2.0 twitter-oauth

19
推荐指数
1
解决办法
5348
查看次数

嵌入时间轴的动态时间轴选择 - 标签时间轴

我已按照此处的指南使用相同的小部件ID添加多个小部件,这对于用户时间线非常适用.

片段----

<a class="twitter-timeline" href="https://twitter.com/benward" data-widget-id="[id]" data-screen-name="benward">
<a class="twitter-timeline" href="https://twitter.com/endform" data-widget-id="[id]" data-screen-name="endform">
<a class="twitter-timeline" href="https://twitter.com/kang" data-widget-id="[id]" data-screen-name="kang">
<a class="twitter-timeline" href="https://twitter.com/brianellin" data-widget-id="[id]" data-screen-name="brianellin">
Run Code Online (Sandbox Code Playgroud)

我想要做的是对同一页面上的多个主题标签 - #MH17,#MH370执行相同的操作(显示不同的小部件).但是这些标签会针对页面上的每篇文章进行更改.

我想知道其中任何一种是否可行.

  1. 使供搜索查询到同一引导这个这个没有从Twitter页面手动创建一个小部件.更改"data-screen-name"属性时,时间轴会发生变化.有没有像"data-hashtag-name"这样的东西?
  2. 使用Twitter API或其他东西自动化使用Auth Token - Secret从浏览器创建小部件的过程?

twitter widget twitter-oauth

19
推荐指数
1
解决办法
1198
查看次数

如何将Twitter API从v1迁移到v1.1?

到现在为止我使用的是twitter api v1,但是我的应用程序突然停止了,它显示每次我尝试登录时登录失败,当我显示响应时它会给我一些信息

{"errors": [{"message": "The Twitter REST API v1 is no longer active. Please migrate to API v1.1. https://dev.twitter.com/docs/api/1.1/overview.", "code": 68}]}

这是在twiter开发者控制台上写的

API的v1.0的弃用

大多数开发人员不需要做很多工作就可以从v1.0过渡到v1.1,但我们希望确保有足够的时间来完成.在关闭v1.0之前,我们将提供6个月的窗口.退役后(请参阅日期的平台日历),1.0端点将不再可用.

我正在使用twitter4j-core-2.1.11.jar,*signpost -core-1.2.1.1.jar*,&signpost-commonshttp4-1.2.1.1.jar

所以我试图将我的代码从v1迁移到v1.1,我试图在twitter开发者控制台上找到关于此的解决方案,但是无法正确地了解如何做到这一点.

我希望有人帮我解决这个问题

谢谢

问题解决:人们正 面临更多的API迁移问题可以从这里下载更新的API工作TWITER代码

- 更改您的使用者密钥和使用者密钥

twitter android twitter-oauth

18
推荐指数
2
解决办法
1万
查看次数

R中的twitteR SSL证书失败

我知道有人再问过类似的问题.但是,我已经尝试了我在这里和谷歌上找到的所有东西,似乎没有什么对我有用.

我的代码如下:

reqURL <- "http://api.twitter.com/oauth/request_token"
accessURL <- "http://api.twitter.com/oauth/access_token"
authURL <- "http://api.twitter.com/oauth/authorize"
consumerKey <- "xxxxxxxxxxx"
consumerSecret <- "xxxxxxxxxxxxxxxxxxx"
twitCred <- OAuthFactory$new(consumerKey=consumerKey,
                         consumerSecret=consumerSecret,
                         requestURL=reqURL,
                         accessURL=accessURL,
                         authURL=authURL)
twitCred$handshake(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl"))
registerTwitterOAuth(twitCred)
Run Code Online (Sandbox Code Playgroud)

我得到: [1] TRUE

但如果我试试这个: tweets = searchTwitter('blabla', n=1500)

我收到以下错误: [1] "SSL certificate problem, verify that the CA cert is OK. Details:\nerror:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed" Error in twInterfaceObj$doAPICall(cmd, params, "GET", ...) : Error: SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

以下是我的PC上的软件包和版本: …

twitter ssl r oauth twitter-oauth

17
推荐指数
2
解决办法
1万
查看次数

使用oauth和twitter4j进行Android Twitter集成

我想在一个Android应用程序中集成twitter,并找到了许多教程.实施了其中2个.但是在实现之后,当运行应用程序时,我才知道他们使用旧版本的twitter4J库.

虽然有很多其他的教程可用,但没有一个是最新的.只有2-3个月大.我需要一个使用最新twitter4J库版本的教程或示例,即twitter4j-core-3.0.3.

我的主要目的是允许用户tweets在他/她的帐户上发布.但同样,如果用户没有登录,我首先需要请求凭据.此外,如果用户点击logout按钮,那么我需要一些方法来记录用户.

twitter android twitter4j twitter-oauth android-twitter

17
推荐指数
2
解决办法
3万
查看次数

为什么我的twitter oauth访问令牌无效/过期

我使用Twitter将用户登录到一个网站,这似乎一直在努力,直到我尝试获得有效的访问令牌.

require("twitteroauth.php");
require 'twconfig.php';
session_start();

$twitteroauth = new TwitterOAuth(YOUR_CONSUMER_KEY, YOUR_CONSUMER_SECRET);
$request_token = $twitteroauth->getRequestToken('http://****/tw_response.php');

$oauth_token = $request_token['oauth_token'];
$_SESSION['oauth_token'] = $oauth_token;

$oauth_token_secret = $request_token['oauth_token_secret'];
$_SESSION['oauth_token_secret'] = $oauth_token_secret;

if ($twitteroauth->http_code == 200) {
    url = $twitteroauth->getAuthorizeURL($request_token['oauth_token']);
    header('Location: '.$url);
} else {
    die('Something wrong happened.');
}
Run Code Online (Sandbox Code Playgroud)

这似乎工作正常,将我重定向到Twitter登录并确认访问,之后它返回到tw_response.php(我的回调网址),网址中包含以下变量:

http://example.com/login.php?oauth_token=sO3X...yj0k&oauth_verifier=Ip6T...gALQ 
Run Code Online (Sandbox Code Playgroud)

在tw_response.php中,我然后尝试获取访问令牌,但它报告为无效.我尝试使用以下var_dump方式查看访问令牌的内容:

require("twitteroauth.php");
require 'twconfig.php';
session_start();

$oauth_verifier = $_REQUEST['oauth_verifier'];
$oauth_token = $_SESSION['oauth_token'];
$oauth_token_secret = $_SESSION['oauth_token_secret'];

$twitteroauth = new TwitterOAuth(YOUR_CONSUMER_KEY, YOUR_CONSUMER_SECRET, $oauth_token, $oauth_token_secret);

$access_token = $twitteroauth->getAccessToken($data['oauth_verifier']);
var_dump($access_token);
Run Code Online (Sandbox Code Playgroud)

var_dump"无效/过期令牌"结尾的结果:

array(8) {
    ["oauth_url"] => string(104) ""1.0" encoding="UTF-8"?>/oauth/access_token?oauth_consumer_key=ceE...9Dg" …
Run Code Online (Sandbox Code Playgroud)

php twitter twitter-oauth

16
推荐指数
1
解决办法
2万
查看次数

TwitteR setup_twitter_oauth()失败

我正在关注包的插图,更新并加载所有必需的包,看起来这是一个非常直接的过程进行身份验证.相反,我得到一个错误

> setup_twitter_oauth(consumer_key, consumer_secret, access_token, access_secret)
[1] "Using direct authentication"
Error in check_twitter_oauth() : OAuth authentication error:
This most likely means that you have incorrectly called setup_twitter_oauth()'
Run Code Online (Sandbox Code Playgroud)

我的解释和编辑程序看起来或多或少像这样.

library("twitteR")
download.file(url="http://curl.haxx.se/ca/cacert.pem", destfile="cacert.pem") #read this was necessary for Windows machines
consumer_key <- 'abc'
consumer_secret <- 'abc'
access_token <- '123-abc'
access_secret <- 'abc'
setup_twitter_oauth(consumer_key, consumer_secret, access_token, access_secret)
Run Code Online (Sandbox Code Playgroud)

我在这个主题上阅读了很多其他的SO问题,没有解决我的问题(大多数人都使用旧的身份验证过程).我正在尝试按照本教程创建一个wordcloud .

twitter r twitter-oauth

15
推荐指数
1
解决办法
2万
查看次数

Twitter API授权在浏览器中无法通过CORS预检

我正在尝试进行必要的三方授权,以便在浏览器中调用Twitter API.该过程从通过POST签名请求获取请求令牌开始/oauth/request_token(这也是Twitter开始的登录方式).

我的问题是,在浏览器POST到Twitter API端点之前,它想要使用OPTIONS方法预检请求.此预检请求始终返回状态400(错误请求).

下面是一个示例,您可以将其剪切并粘贴到支持Fetch API的浏览器控制台中:

fetch('https://api.twitter.com/oauth/request_token', { method: 'POST', mode: 'cors', headers: new Headers({ authorization: 'xxx' }), body: 'oauth_callback=http%3A%2F%2Flocalhost%2F' });
Run Code Online (Sandbox Code Playgroud)

在Chrome上,预检请求如下所示(Firefox类似):

OPTIONS /oauth/request_token HTTP/1.1
accept:*/*
accept-encoding:gzip, deflate, sdch
accept-language:en-US,en;q=0.8
access-control-request-headers:authorization, content-type
access-control-request-method:POST
cache-control:no-cache
origin:null
pragma:no-cache
user-agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36
Run Code Online (Sandbox Code Playgroud)

预检反应如下:

HTTP/1.1 400 Bad Request
content-length: 0
date: Tue, 08 Mar 2016 22:21:37 GMT
server: tsa_a
x-connection-hash: 529e3d8338caeb980077637d86db5df1
Run Code Online (Sandbox Code Playgroud)

请注意,问题在于我没有在上面的示例中指定真正的授权标头.授权标头的值未在预检请求中使用. …

twitter cors twitter-oauth

15
推荐指数
1
解决办法
6885
查看次数