我试图做一个共享链接的Windows 8应用程序......
我已经有了一个访问令牌。 如何打开Feed对话框?
我正在使用以下代码:
var facebookURL =
"https://www.facebook.com/dialog/feed" +
"?display=popup" +
"&app_id=" + FBI.appID +
"&access_token=" + FBI.auth.getAccessToken() +
"&link=http://apps.microsoft.com/windows/app/archery-master/172c7273-10a8-4519-8a66-68ec4dae12f1" +
"&picture=http://wscont1.apps.microsoft.com/winstore/1x/0a119429-8795-4e0b-9f1a-d55bb5e8c2b1/Icon.70730.png" +
"&name=Archery%20Master" +
"&caption=I%20have%20a%20new%20best%20score" +
"&description=My%20best%20score%20was%20300%20points" +
"&redirect_uri=" + FBI.auth.callbackURL;
var startURI = new Windows.Foundation.Uri(facebookURL);
var endURI = new Windows.Foundation.Uri(FBI.auth.callbackURL);
Windows.Security.Authentication.Web.WebAuthenticationBroker.authenticateAsync(
Windows.Security.Authentication.Web.WebAuthenticationOptions.dafault, startURI, endURI)
.done(function (result) {
switch (result.responseStatus) {
case Windows.Security.Authentication.Web.WebAuthenticationStatus.errorHttp:
break;
case Windows.Security.Authentication.Web.WebAuthenticationStatus.success:
break;
default:
break;
}
}, function (err) {
});
但是,我遇到了以下错误:
API Error Code: 110
API Error Description: Invalid user id
Error Message: Missing user cookie (to validate session user)
建议吗?
答案 0 :(得分:2)
在Windows应用商店应用中共享的最佳模式是使用Share Source contract。这样,您的应用就可以选择要分享的内容,同时让用户可以选择分享的位置和方式(例如,与之分享的应用)。
在应用中向特定提供商实施共享的缺点是MySpace现象。如果您编写的社交网络不会超过您的应用程序,会发生什么?您现在已经在应用中获得了需要维护的代码,但对用户的价值有限。出于同样的原因,如果出现新的社交网络,您将需要向您的应用添加代码以与其共享。
使用“共享源”合同,允许用户选择接收共享数据的应用程序,从而解决了这两个问题。如果他们希望与Facebook分享,他们可以选择支持该网络的应用程序。如果他们更喜欢Twitter,他们可以分享。
除非有一些非常令人信服的理由,否则我建议查看股票来源合约。您可以编写更少的代码,并为用户提供更大的灵活性,并且您的应用程序的行为将与Windows应用商店应用的用户期望的一样。
答案 1 :(得分:1)
尝试删除access_token行。
var facebookURL =
"https://www.facebook.com/dialog/feed" +
"?display=popup" +
"&app_id=" + FBI.appID +
//"&access_token=" + FBI.auth.getAccessToken() +
"&link=http://apps.microsoft.com/windows/app/archery-master/172c7273-10a8-4519-8a66-68ec4dae12f1" +
"&picture=http://wscont1.apps.microsoft.com/winstore/1x/0a119429-8795-4e0b-9f1a-d55bb5e8c2b1/Icon.70730.png" +
"&name=Archery%20Master" +
"&caption=I%20have%20a%20new%20best%20score" +
"&description=My%20best%20score%20was%20300%20points" +
"&redirect_uri=" + FBI.auth.callbackURL;
我尝试了你的代码,没有access_token行,它似乎能够显示对话框。
希望它有所帮助。