Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
疯狂-如何设置fb应用程序以便我的iOS应用程序可以发布到它';这是墙吗?_Ios_Facebook_Post_Facebook Wall - Fatal编程技术网

疯狂-如何设置fb应用程序以便我的iOS应用程序可以发布到它';这是墙吗?

疯狂-如何设置fb应用程序以便我的iOS应用程序可以发布到它';这是墙吗?,ios,facebook,post,facebook-wall,Ios,Facebook,Post,Facebook Wall,好的,我知道如何张贴到用户的墙上(时间线?),效果很好 我想要的是,当用户在iPhone上做某些事情时,应该在应用程序的墙上显示一个帖子。帖子应该以用户的名义发布 比如: 幸运的卢克说:大家好 Zaphod Beeblebrox开始使用Awesomeapp 另外:只有应用程序的用户才能发布到应用程序的墙壁上(我看到了页面“管理权限”上的设置-我可以设置谁可以发布到墙壁上。我不希望每个人都发布) 如果我是对的,那帖子也会自动出现在用户的feed中,不是吗?或者我必须在用户的墙上再贴一个帖子吗 当用

好的,我知道如何张贴到用户的墙上(时间线?),效果很好

我想要的是,当用户在iPhone上做某些事情时,应该在应用程序的墙上显示一个帖子。帖子应该以用户的名义发布

比如:

幸运的卢克说:大家好

Zaphod Beeblebrox开始使用Awesomeapp

另外:只有应用程序的用户才能发布到应用程序的墙壁上(我看到了页面“管理权限”上的设置-我可以设置谁可以发布到墙壁上。我不希望每个人都发布)

如果我是对的,那帖子也会自动出现在用户的feed中,不是吗?或者我必须在用户的墙上再贴一个帖子吗

当用户首次使用应用程序时,我请求以下权限:@“用户照片”@“用户视频”@“管理页面”@“阅读流”@“发布流”@“用户签入”@“朋友签入”@“电子邮件”@“用户位置”

(最近我在某个地方阅读时添加了read_流和manage_页面,但没有帮助:)

这是我用来写这篇文章的代码:

NSString *graphPath = [NSString stringWithFormat: @"/%@/feed?access_token=%@", FBAppID, [FBAccessToken stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]];
    NSLog(@"graph path %@", graphPath);
    NSDictionary *postParams =
    @{
        @"Test": @"message"
    };


    [FBRequestConnection
     startWithGraphPath:graphPath
     parameters:postParams
     HTTPMethod:@"POST"
     completionHandler:^(FBRequestConnection *connection,
                         id result,
                         NSError *error) {

         if (error) {
             NSLog(@"error: domain = %@, code = %d, %@",
                          error.domain, error.code, error.description);
         } else {
             NSLog(@"Posted action, id: %@",
                          [result objectForKey:@"id"]);
         }
         // Show the result in an alert
     }];
返回错误100(缺少消息或附件-OAutheException)

我在谷歌上搜索了两天,找不到合适的指南。。。救命!!!:)

[编辑]我可能知道一些事情

似乎是
NSDictionary*postParams@{@“Test”:@“message”}是问题所在。
当我使用适当的
[[NSDictionary alloc]initWithObjectsAndKeys:…]时似乎有效。。。我们拭目以待:)

[编辑]好的-我应该休息一下,看起来

使用@{…}初始化字典首先需要键,然后需要对象,而[NSDictionary dictionary WithObjectsAndKeys:…]则首先设置对象,然后设置键


我现在觉得有点傻…

这就是我在代码中的做法:

NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                               @"My app's name", @"name",
                               @"Some cool caption", @"caption",
                               @"Super description", @"description",
                               @"http://stackoverflow.com//", @"link",
                               nil];


[FBRequestConnection startWithGraphPath:@"me/feed"
                             parameters:params
                             HTTPMethod:@"POST"
                      completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {

       .....
 }];
请注意
图形路径
,它与您的略有不同。在my
Info.plist
中还有一个facebookId值:

<key>FacebookAppID</key>
<string>123456789876543</string>
FacebookAppID
123456789876543
和facebook url方案:

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>fb123456789876543</string> (fb + your app id)
        </array>
    </dict>
</array>
CbundleUrlTypes

谢谢-此错误似乎是由于我使用NSDictionary造成的。当我把它改成旧代码时,它开始工作了。。。我想,这是因为我没有分配NSDictionary,但你似乎也使用了一个临时字典,而且它很有效。。。奇怪…我很高兴这有帮助。我不想写字典初始化之类显而易见的东西,但我很高兴我写了=)