0

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

我已经为他们的 api 创建了一个非常简单的示例,但是在弹出窗口中点击“连接”后,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 它是一个本地域。我已经在我的主机文件中设置了它。

4

1 回答 1

2

所以,我想通了。您需要为您的应用提供回调 URL(在开发人员页面上),即使它说您没有。回调 URL 也需要与您的授权域匹配。

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

我在登录的同一页面上执行了此操作

if(location.hash && location.hash.indexOf("oauth_access_token") != -1) {
于 2012-05-10T15:13:21.773 回答