使用 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.JdbcOdbc...