微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 Unity Facebook SDK 在 Facebook 中发出应用到用户的请求

如何解决使用 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 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?