Twitter @anywhere登录有问题

时间:2012-05-09 17:56:19

标签: authentication twitter login oauth twitter-anywhere

我正在使用新的twitter @anywhere api使用弹出窗口登录客户端。 api文档在这里 https://dev.twitter.com/docs/anywhere/welcome#auth-events

我已经创建了一个非常简单的api示例,但是在弹出窗口中点击“connect”后,twitter就会说“技术上出现问题”,如此截图所示 http://cl.ly/0A321R1Z2W1o3v0P0t0z

以下是我执行此操作的设置(请注意我已在Twitter上创建了我的应用程序)

var api = "http://platform.twitter.com/anywhere.js?id={MY_API_KEY}&v=1";
$.getScript(api,function() {

            twttr.anywhere(function (tw) {

                console.log("tw",tw);

                // bind auth compelte event
                tw.bind("authComplete", function (e, user) {
                    console.log("tw auth complete",e,user);
                });

                // calling sign in triggeers the above event
                tw.signIn();

            }); 

        });

所以它打开弹出窗口,让我登录twitter,然后当我点击连接时,我从twitter上得到了那个奇怪的错误。

任何可能出错的想法?​​

谢谢!

更新 - 我发现此页面的人遇到了类似问题,但他们提供的解决方案没有改变任何内容。

https://dev.twitter.com/discussions/1286

注意我正在使用的域http://changeup.dev是一个本地域可能很重要。我已经在我的主机文件中设置了它。

1 个答案:

答案 0 :(得分:2)

所以,我想出来了。您需要为您的应用程序设置一个回调URL(在开发者页面上),即使它说您没有。回调网址也需要与您的授权域匹配。

然后,在你的应用程序中,回调调用的URL,NEEDS包含twitter api。那么,只有这样窗口会自动关闭并执行authComplete回调。

我是在我从

登录的同一页上完成的
if(location.hash && location.hash.indexOf("oauth_access_token") != -1) {