gpt4 book ai didi

iphone - 如何在 iPhone 中使用 Graph API 在 facebook 上上传照片?

转载 作者:搜寻专家 更新时间:2023-10-30 19:44:54 25 4
gpt4 key购买 nike

我制作了一个应用程序,在我的应用程序中我集成了 Facebook 以共享信息。对于 Facebook 集成,我在应用程序中使用了 Graph API。现在在我的应用程序中,我想在用户的墙上上传照片。我已使用此代码将照片上传到用户的墙上。

//用于上传照片

- (void)uploadPhoto:(id)sender {


NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Image1" ofType:@"jpg"];

NSString *message = [NSString stringWithFormat:@"I think this is a Great Image!"];

NSURL *url = [NSURL URLWithString:@"https://graph.facebook.com/me/photos"];

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request addFile:filePath forKey:@"file"];
[request setPostValue:message forKey:@"message"];
[request setPostValue:_accessToken forKey:@"access_token"];
[request setDidFinishSelector:@selector(sendToPhotosFinished:)];
[request setDelegate:self];

[request startAsynchronous];
}
- (void)sendToPhotosFinished:(ASIHTTPRequest *)request {

// Use when fetching text data
NSString *responseString = [request responseString];

NSMutableDictionary *responseJSON = [responseString JSONValue];
NSString *photoId = [responseJSON objectForKey:@"id"];
NSLog(@"Photo id is: %@", photoId);

NSString *urlString = [NSString stringWithFormat:
@"https://graph.facebook.com/%@?access_token=%@", photoId,
[_accessToken stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSURL *url = [NSURL URLWithString:urlString];
ASIHTTPRequest *newRequest = [ASIHTTPRequest requestWithURL:url];
[newRequest setDidFinishSelector:@selector(getFacebookPhotoFinished:)];

[newRequest setDelegate:self];
[newRequest startAsynchronous];
}

但是,我明白了responseString 是 {"error":{"message":"Error validating application.","type":"OAuthException"}}照片 ID 为:(空)

并且图像未上传到用户的墙上。所以,请告诉我如何解决它。

最佳答案

首先,您已通过此操作(使用 FBConnect SDK)授权您的应用程序上传图片,您可以检查所有权限 here

NSArray* permissions = [NSArray arrayWithObjects:@"publish_stream", @"user_photos", nil];
[facebook authorize:permissions];

下一个问题是 facebook 不允许以这种方式发送的帖子链接到他们域中托管的图片(我知道这真的很烦人,也许值得检查一下自 4 月以来事情是否发生了变化)。我花了很多时间解决这个问题。我破解它的方法是使用 bitly 创建一个重定向 URL。 (您可以使用他们的 API 以编程方式访问他们的服务,它有一个 obj-c 包装器 here,尽管我将其更改为异步)并在帖子中发送该 URL。

关于iphone - 如何在 iPhone 中使用 Graph API 在 facebook 上上传照片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7713227/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com