我已经为此花费了几个小时,但无法让它发挥作用。基本上我只想要我的应用程序中的一个按钮,它会在 Facebook 上“喜欢”自己。 我已经在 dev Facebook 上创建了该应用程序,并且有一个关联的应用程序页面。 在我的代码中,我请求这些权限:
_permissions = [NSArray arrayWithObjects:@"publish_stream", @"publish_actions", @"user_birthday", nil];
我可以很好地检索个人资料图片,但是当我尝试使用此代码“喜欢”时:
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
_facebook.accessToken, @"access_token",
nil];
[_facebook requestWithGraphPath:@"329756493773381/og.likes" andParams:params andHttpMethod:@"POST" andDelegate:self];
我收到此错误响应:
(facebookErrDomain error 10000.)" UserInfo=0x20090590 {error={
code = 200;
message = "(#200) Requires extended permission: publish_actions";
type = OAuthException;
}}
当登录应用程序时,Facebook 要求我获得查看我生日的权限,并告诉我它会代表我发布,但它似乎没有获得 publish_actions 权限。
我是否缺少需要做的事情?
我看到 Temple Run 有一个 Facebook Like 按钮,按下它会提供奖励金币。这就是我想要实现的目标。
编辑-------
我已将我的权限更改为仅@"publish_actions"、@"user_birthday",现在身份验证对话框显示
"This app may post on your behalf, including objects you liked and more"
这似乎是 publish_actions 权限,但我仍然收到错误
message = "(#200) Requires extended permission: publish_actions";
我改变了这一行:
[_facebook requestWithGraphPath:@"329756493773381/og.likes" andParams:params andHttpMethod:@"POST" andDelegate:selrf];
为此:
[_facebook requestWithGraphPath:@"329756493773381/og.likes" andDelegate:self];
现在我确实收到了回复,尽管它没有发布“赞”
这是结果响应:
{
data = (
);
paging = {
next = "https://graph.facebook.com/329756493773381/og.likes?sdk=ios&sdk_version=2&access_token=BAAGeAp3ZBGwoBAPICjlgB5zK0YECyP8yElf8hJoMrx8Qs4vjeZAK5PlXFAVbGM1JyXHE0wZBvU0aBeCzCUTZBejQgoJ44CAIQsrG64TfrHdxjMqWD&format=json&offset=25&limit=25";
};
}
知道接下来要尝试什么吗?
编辑 2 -------------- 我正在这方面取得进展。 我已经像这样将用户 ID 添加到图形请求中
NSString *graphPath = [NSString stringWithFormat:@"%@/og.likes",facebookID];
并使用了这些参数
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@"AAAGeAp3ZBGwoBABvKjsPZAoQQNG9cDPJI2v2TI8acyyPSNtm9ZBkfydHqVZAjSKWSbLuvFwxyxSrCts7kFZCnh7Y6f5PFNlWb6smF8XF33wlRZBgfLyhT1", @"access_token",
@"http://samples.ogp.me/329756493773381", @"object",
nil];
现在我的时间轴上出现了一个赞 :-) 我使用的是 Facebook 登录提供的访问 token ,但图形对象提供的访问 token 似乎不同。
现在,我看到的是这种模式:
Darren likes object on MyAPP
有没有可能把它当作
Darren likes MyAPP with it linking to the app Facebook page?
谢谢
最佳答案
检查您是否完成了以下步骤:
https://developers.facebook.com/docs/opengraph/tutorial/
“注意:此权限的用户提示将显示在增强型身份验证对话框的第一个屏幕中,并且不能作为身份验证流程的一部分撤销。” - 链接
如果你还没有尝试这个:
Auth Dialog -> 配置 Facebook 如何将用户引向您的应用 -> 添加 publish_actions 权限。
https://developers.facebook.com/docs/opengraph/authentication/
“要启用新的身份验证对话框,请转到应用面板,然后在应用的高级部分启用增强型身份验证对话框设置。” -链接
希望这对您有所帮助!
关于ios - 无法在 iOS 上获取 Facebook publish_action 权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11319530/
我在从html页面生成PDF时遇到问题。我正在使用PDFkit。在安装它的过程中,我注意到我需要wkhtmltopdf。所以我也安装了它。我做了PDFkit的文档所说的一切......现在我在尝试加载PDF时遇到了这个错误。这里是错误:commandfailed:"/usr/local/bin/wkhtmltopdf""--margin-right""0.75in""--page-size""Letter""--margin-top""0.75in""--margin-bottom""0.75in""--encoding""UTF-8""--margin-left""0.75in""-
我对最新版本的Rails有疑问。我创建了一个新应用程序(railsnewMyProject),但我没有脚本/生成,只有脚本/rails,当我输入ruby./script/railsgeneratepluginmy_plugin"Couldnotfindgeneratorplugin.".你知道如何生成插件模板吗?没有这个命令可以创建插件吗?PS:我正在使用Rails3.2.1和ruby1.8.7[universal-darwin11.0] 最佳答案 随着Rails3.2.0的发布,插件生成器已经被移除。查看变更日志here.现在
我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r
我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e
我花了三天的时间用头撞墙,试图弄清楚为什么简单的“rake”不能通过我的规范文件。如果您遇到这种情况:任何文件夹路径中都不要有空格!。严重地。事实上,从现在开始,您命名的任何内容都没有空格。这是我的控制台输出:(在/Users/*****/Desktop/LearningRuby/learn_ruby)$rake/Users/*******/Desktop/LearningRuby/learn_ruby/00_hello/hello_spec.rb:116:in`require':cannotloadsuchfile--hello(LoadError) 最佳
我知道您通常应该在Rails中使用新建/创建和编辑/更新之间的链接,但我有一个情况需要其他东西。无论如何我可以实现同样的连接吗?我有一个模型表单,我希望它发布数据(类似于新View如何发布到创建操作)。这是我的表格prohibitedthisjobfrombeingsaved: 最佳答案 使用:url选项。=form_for@job,:url=>company_path,:html=>{:method=>:post/:put} 关于ruby-on-rails-rails:Howtomak
我在pry中定义了一个函数:to_s,但我无法调用它。这个方法去哪里了,怎么调用?pry(main)>defto_spry(main)*'hello'pry(main)*endpry(main)>to_s=>"main"我的ruby版本是2.1.2看了一些答案和搜索后,我认为我得到了正确的答案:这个方法用在什么地方?在irb或pry中定义方法时,会转到Object.instance_methods[1]pry(main)>defto_s[1]pry(main)*'hello'[1]pry(main)*end=>:to_s[2]pry(main)>defhello[2]pry(main)
我使用的是Firefox版本36.0.1和Selenium-Webdrivergem版本2.45.0。我能够创建Firefox实例,但无法使用脚本继续进行进一步的操作无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055)错误。有人能帮帮我吗? 最佳答案 我遇到了同样的问题。降级到firefoxv33后一切正常。您可以找到旧版本here 关于ruby-无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055),我们在StackOverflow上找到一个类
有没有办法在这个简单的get方法中添加超时选项?我正在使用法拉第3.3。Faraday.get(url)四处寻找,我只能先发起连接后应用超时选项,然后应用超时选项。或者有什么简单的方法?这就是我现在正在做的:conn=Faraday.newresponse=conn.getdo|req|req.urlurlreq.options.timeout=2#2secondsend 最佳答案 试试这个:conn=Faraday.newdo|conn|conn.options.timeout=20endresponse=conn.get(url
这里有一个很好的答案解释了如何在Ruby中下载文件而不将其加载到内存中:https://stackoverflow.com/a/29743394/4852737require'open-uri'download=open('http://example.com/image.png')IO.copy_stream(download,'~/image.png')我如何验证下载文件的IO.copy_stream调用是否真的成功——这意味着下载的文件与我打算下载的文件完全相同,而不是下载一半的损坏文件?documentation说IO.copy_stream返回它复制的字节数,但是当我还没有下