如何解决使用 Unity Facebook SDK 在 Facebook 中发出应用到用户的请求
我整个星期都在为这个问题而苦苦挣扎。我在这里看到了很多相关主题,但大多数答案要么太旧,要么与我的问题无关。
我正在 Unity 中制作一个手机游戏,我使用的是 Unity Facebook SDK(版本 9.0.0)。
我已设法使用 HTTP POST 将应用到用户的请求发送到 /{user-id}/apprequests 端点,如 explained in the docs。
但是,我设法做到这一点的唯一方法是通过以下代码,我将在下面解释:
var prevIoUsToken = Accesstoken.CurrentAccesstoken;
Accesstoken.CurrentAccesstoken = new Accesstoken(APP_ACCESS_TOKEN,prevIoUsToken.UserId,prevIoUsToken.ExpirationTime,prevIoUsToken.Permissions,prevIoUsToken.LastRefresh,prevIoUsToken.GraphDomain);
string query = "/USER_ID/apprequests";
var fields = new Dictionary<string,string>();
fields["data"] = "LIFE";
fields["message"] = "hakuna matata!";
FB.API(query,HttpMethod.POST,callback,fields);
Accesstoken.CurrentAccesstoken = prevIoUsToken;
当玩家登录时,会生成一个用户访问令牌,所有subsequent API calls use implicitly this access token。这就是为什么,如果我想使用应用程序访问令牌,我认为我需要创建一个新的访问令牌并将其用于 FB.API 调用。最后,我将当前访问令牌重置为用户访问令牌。
正如我所提到的,这是有效的。请求被发送并且可以是 HTTP GET。问题在于,according to the docs: " 为了安全起见,应用访问令牌永远不应该硬编码到客户端代码中,这样做会使加载您的网页或反编译您的应用的每个人都可以完全访问您的应用机密,并且因此能够修改您的应用程序。这意味着在大多数情况下,您将仅在服务器到服务器的调用中使用应用程序访问令牌”。
然而,我没有找到其他方法来实现这一点。有什么建议吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。