2012-05-09 46 views
0

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

伊夫创造了API的一个很简单的例子,但打“连接”,在弹出后,微博只是说:“有些事情是技术上的错误”在这个截图在这里看到 http://cl.ly/0A321R1Z2W1o3v0P0t0z

这里是我的设置做

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上注IVE),让我登录到Twitter的,然后当我点击连接PC,我得到奇怪的错误来自twitter。

任何想法可能会出错?

谢谢!

更新 - 我发现这个页面的人有类似的问题,但他们提供的解决方案并没有改变任何东西。

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

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

+0

SO登录,我想通了。您需要为您的应用程序提供回调网址(在开发者页面上),即使它说您没有。回叫网址也需要与您的授权网域相匹配。 然后,在您的应用中,回调调用的URL需要包含twitter api。那么,只有那么窗口才会自动关闭并执行authComplete回调。 我在 if(位置.hash && location.hash.indexOf(“oauth_access_token”)!= -1){.http:// http: twitter.com/anywhere.js?id={API_KEY}“); } –

回答

2

SO,我想通了。您需要为您的应用程序提供回调网址(在开发者页面上),即使它说您没有。回叫网址也需要与您的授权网域相匹配。

然后,在您的应用中,回调调用的URL需要包含twitter api。那么,只有那么窗口才会自动关闭并执行authComplete回调。

我这样做是在同一页我从

if(location.hash && location.hash.indexOf("oauth_access_token") != -1) {