我一直试图让OAuth 2.0正常运行。我已经设法制作了可以做到"拒绝/允许"仅使用
打开网页即可获得我的应用Application.OpenUrl(uri.ToString());
问题是如果用户点击允许,我不知道如何从页面获取重定向和身份验证令牌。当你点击允许时,现在它没有任何反应只是坐在页面上。在chrome debug中检查网络确实有重定向和令牌,但它实际上从未发送过它..
我被推荐使用RestSharp,但我再次不知道如何在Unity中使用它,因为Android / iOS PC等有很多资源但是我不能让它们中的任何一个为这个Unity工作项目...
var client = new RestClient("https://www.fitbit.com/oauth2/authorize?response_type=code&client_id=*clientID*&redirect_uri=http%3A%2F%2FfitRPGcallback&scope=activity%20profile%20sleep%20social");
Debug.Log("client made");
var request = new RestRequest(Method.POST);
request.Resource = ("profile%20sleep%20social");
client.ExecuteAsync(request, response => { Debug.Log("response is : " + response.Content);});
Application.OpenURL(client.BaseUrl.ToString());
在网址中,我确实有正确的clientID,但不确定我能做什么,并且出于安全原因无法显示等。
最大的问题是在用户点击允许/拒绝后,不知道如何从网页获取返回值...
任何见解都会超级赞赏,因为我只是想开始制作实际的游戏,但如果我无法获得这些数据,那就不那么重要了......
答案 0 :(得分:1)
所以,我还发布了一些其他适用的问题,因为我终于找到了答案。
不幸的是我没有使用REST,因此该部分仍然悬而未决但我确实让它与Fitbit,Unity和Webview插件一起工作(你需要一个webview或者一种方法来获得初始化从第一次OAuth2调用回来的代码)
您可以在此处找到相应的步骤。
http://technicalartistry.blogspot.nl/2015/07/oauth2-unity-and-month-of-cursing.html
编辑:
所以我不得不改变我的做法,因为Fitbit改变了他们的ToS,我们不再允许使用基于Webview的Authenticators(这是我在上面的博文中使用的。) 给下一篇文章看看如何制作一个Android插件,它将从Fitbit的OAuth中获取Accesstoken。这是一种免费的方式,因为你自己做它,它是ezmode :) http://technicalartistry.blogspot.ca/2016/01/fitbit-unity-oauth-2-and-native.html