2010-08-21 90 views
1

我正在编写一个Facebook应用程序,需要代表用户发布在朋友的墙上,但超出了画布应用程序的范围。我有以下几点:代表用户发布在朋友的墙上

  • 应用程序ID
  • 应用的海报

这个秘密

  • publish_stream权限理论上应该是足够的做我想做的。我目前在做什么:

    1. 使用应用程序ID和应用程序密钥来获取代表我的应用程序的OAuth令牌(请参阅“认证为应用程序”here)。
    2. 试图使用上/ friends_wall /供稿发送POST我的朋友的墙上公布(见here)和OAuth令牌在步骤1中

    然而检索,这最终在朋友的墙上张贴作为朋友而不是用户(该应用程序还具有朋友的publish_stream权限)。这并不是太意外,因为我没有在这个过程中指定海报应该是谁。

    我的问题是:是否可以为代表用户的应用程序获取OAuth令牌?如果没有,是否有任何方式在用户的朋友的墙上张贴在画布应用程序的范围之外?

    谢谢
    Ashoat

  • +0

    请注意,您将不再能够通过API从2月6日发布到其他用户的墙上。2013年,请参阅https://developers.facebook.com/roadmap /之后的唯一方法点将使用提要对话框,让用户主动触发它。 – CBroe 2012-11-01 18:46:26

    回答

    2

    其实,我觉得我在这里找到了答案。我不认为有新方法可以在新的OAuth API中执行此操作,但似乎有一种使用旧版REST API的方法。请参阅文档here

    只要在我的问题与上述文件代替步骤2中,仍然使用OAuth令牌从第1步,你应该是下面的代码不错:)

    +0

    其实我想我想出了Facebook上聊天Ashoat的答案;) – 2010-08-21 08:49:22

    +0

    是的,它实际上是泰勒。 – Ashoat 2010-08-21 09:04:31

    +0

    我认为facebook想摆脱这个功能,它可能被滥用的方式太多了。 – 2012-01-12 09:19:24

    3

    使用张贴在墙上的朋友:

    NSMutableDictionary *paramspost = [NSMutableDictionary dictionaryWithObjectsAndKeys: 
                @"My test app", @"name", 
                @"http://www.google.com", @"link", 
                @"FBTestApp app for iPhone!", @"caption", 
                @"This is a description of my app", @"description", 
                @"Hello!\n\nThis is a test message\nfrom my test iPhone app!", @"message", 
                nil]; 
    
    // Publish. 
    // This is the most important method that you call. It does the actual job, the message posting. 
    [ facebook requestWithGraphPath:@"100001433267690/feed" andParams:paramspost andHttpMethod:@"POST" andDelegate:self]; 
    

    其中“100001433267690”应该是你的朋友在facebook上使用的用户标识

    相关问题