Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
RingCentral JavaScript SDK句柄重定向URI指向本地JavaScript函数_Javascript_Oauth 2.0_Ringcentral - Fatal编程技术网

RingCentral JavaScript SDK句柄重定向URI指向本地JavaScript函数

RingCentral JavaScript SDK句柄重定向URI指向本地JavaScript函数,javascript,oauth-2.0,ringcentral,Javascript,Oauth 2.0,Ringcentral,句柄重定向URI指向本地JavaScript函数 根据文件,他们给出了选择权 RingCentral.SDK.handleLoginDirect() 但是我不知道如何使用它 var SDK = require('ringcentral'); rcsdk = new SDK({ server: SDK.server.sandbox, appKey: '_app_key', appSecret: 'app_password', redi

句柄重定向URI指向本地JavaScript函数

根据文件,他们给出了选择权

RingCentral.SDK.handleLoginDirect()

但是我不知道如何使用它

var SDK = require('ringcentral');
rcsdk = new SDK({
        server: SDK.server.sandbox,
        appKey: '_app_key',
        appSecret: 'app_password',
        redirectUri: ''
    })
function handleredirectURI(){
//handle redirections
}
我们需要指出我们的
handleredirectURI
函数
请根据文档提前感谢。上下文是三条腿的oAuth。下面是一个演示:

但是,演示没有使用
handleredirectURI
方法。这意味着该方法只是一种实用方法,不需要使用它

关于
handleredirectURI
的用法,我稍后会回来更新我的答案

更新

以下是handleredirectURI的源代码:

您可以看到,该方法解析
win.location
以获取一些有用的数据,并将
postMessage
返回到它的开瓶器

handleredirectURI的单元测试

更新2

我再次阅读了
handleredirectURI
”源代码、单元测试和示例代码,我认为它的用法与文档中所写的一样:

弹出式设置 当您的应用程序在第三方网站上呈现为小部件时,此设置很好

如果您只想在弹出窗口中打开RingCentral登录页面,您可以在应用程序的登录页面中使用以下速记:

在这种情况下,您的登录页(重定向URI指向的页面)需要调用以下代码:

解释:

  • 运行第一个代码段以打开登录弹出窗口
  • 在重定向到页面中,运行第二个代码段(这一行代码)以完成其他所有工作
  • 之后,授权部分完成,您可以调用其他API

如果您还有更多问题,请告诉我。

谢谢您的回答,让我检查一下,如果我们使用RingCentral.SDK.HandleLoginDirect()方法redirectUri不是必需的,对吗?您指的是哪个
redirectUri
方法?或者你可以告诉我你有什么,你在哪里卡住了。我的意思是,当我们包装应用程序时,只要你想使用三条腿的oauth,就必须要求redirecturl
redirectyUri
<代码>RingCentral.SDK.handleLoginDirect()应该在重定向到页面中执行。如果您在创建应用程序时忽略了
redirectUri
,它就没有执行的位置。
var platform = rcsdk.platform();
var loginUrl = platform.loginUrl({implicit: true}); // implicit parameter is optional, default false
platform
    .loginWindow({url: loginUrl}) // this method also allows to supply more options to control window position
    .then(function (loginOptions){
        return platform.login(loginOptions);
    })
    .then(...)
    .catch(...);
RingCentral.SDK.handleLoginRedirect();