我有一个管理员帐户,首先我获得了管理员帐户所属的每个网络的访问权限。
第二,我使用user_id
和consumer_key
参数代表其他用户生成令牌。
但是当我尝试在外部网络中获取用户的访问令牌时,我收到401
错误。在主网络中获取用户的访问令牌是没有问题的。我想知道是否有办法访问外部网络中的用户。
答案 0 :(得分:1)
网络参数是调用登录方法时难题中的关键。 由于某些跨域限制,SDK会在页面上创建一个隐藏的iframe,作为获取外部网络令牌的代理桥。
yam.platform.login({ network: '{your-permalink-goes-here}' }, function (data) {
console.log('login-status: ',data)
if(data.status ==='connected')
yam.platform.request({
url: "oauth/tokens.json"
, method: "GET"
, success: function (tokens) { console.log('user-tokens:',tokens); }
, error: function (err) { alert("There was an error with the request."); }
});
})
每当重新加载页面时,可以手动设置获取的令牌以进一步请求,从而避免登录窗口再次显示。
yam.platform.setAuthToken('{the-token-goes-here}'))