Tôi đã dành hàng giờ để thực hiện điều này và không thể làm việc đó. Về cơ bản tôi chỉ muốn một nút trong ứng dụng của tôi sẽ tự 'Like' trên Facebook. Tôi đã tạo ứng dụng trên dev Facebook và có Trang ứng dụng được liên kết. Trong mã của tôi, tôi yêu cầu các điều khoản:Không thể nhận được quyền publish_action trên Facebook trên iOS
_permissions = [NSArray arrayWithObjects:@"publish_stream", @"publish_actions", @"user_birthday", nil];
tôi có thể lấy một hình ảnh cá nhân tốt, nhưng khi tôi cố gắng 'Like' sử dụng mã này:
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
_facebook.accessToken, @"access_token",
nil];
[_facebook requestWithGraphPath:@"329756493773381/og.likes" andParams:params andHttpMethod:@"POST" andDelegate:self];
tôi nhận được phản ứng lỗi này:
(facebookErrDomain error 10000.)" UserInfo=0x20090590 {error={
code = 200;
message = "(#200) Requires extended permission: publish_actions";
type = OAuthException;
}}
Khi đăng nhập vào ứng dụng, Facebook yêu cầu tôi cho phép xem sinh nhật của tôi và cho tôi biết nó sẽ đăng thay mặt cho tôi nhưng có vẻ như không nhận được quyền publish_actions.
Có điều gì tôi thiếu mà tôi cần phải làm không?
Tôi thấy Temple Run có nút Thích trên Facebook và cung cấp tiền thưởng để nhấn nút. Đây là những gì tôi muốn đạt được.
EDIT -------
Tôi đã thay đổi quyền của tôi để chỉ @ "publish_actions", @ "user_birthday" và bây giờ là đối thoại auth nói
"Ứng dụng này có thể gửi thay cho bạn, bao gồm cả đối tượng mà bạn thích và hơn"
mà có vẻ là sự cho phép publish_actions, tuy nhiên tôi vẫn nhận được lỗi
message = "(# 200) Yêu cầu quyền mở rộng: publish_actions";
Tôi đã thay đổi dòng này:
[_facebook requestWithGraphPath:@"329756493773381/og.likes" andParams:params andHttpMethod:@"POST" andDelegate:selrf];
này:
[_facebook requestWithGraphPath:@"329756493773381/og.likes" andDelegate:self];
và bây giờ tôi nhận được một phản ứng trở lại, mặc dù nó không viết 'như'
Đây là kết quả trả lời:
{
data = (
);
paging = {
next = "https://graph.facebook.com/329756493773381/og.likes?sdk=ios&sdk_version=2&access_token=BAAGeAp3ZBGwoBAPICjlgB5zK0YECyP8yElf8hJoMrx8Qs4vjeZAK5PlXFAVbGM1JyXHE0wZBvU0aBeCzCUTZBejQgoJ44CAIQsrG64TfrHdxjMqWD&format=json&offset=25&limit=25";
};
}
Bất kỳ ý tưởng nào cần thử tiếp theo?
CHỈNH SỬA 2 --------------- Tôi đang tiến bộ với điều này. Tôi đã thêm người sử dụng id để yêu cầu đồ thị như thế này
NSString *graphPath = [NSString stringWithFormat:@"%@/og.likes",facebookID];
và sử dụng các thông số
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@"AAAGeAp3ZBGwoBABvKjsPZAoQQNG9cDPJI2v2TI8acyyPSNtm9ZBkfydHqVZAjSKWSbLuvFwxyxSrCts7kFZCnh7Y6f5PFNlWb6smF8XF33wlRZBgfLyhT1", @"access_token",
@"http://samples.ogp.me/329756493773381", @"object",
nil];
và bây giờ tôi nhận được một giống như hiển thị trên dòng thời gian của tôi :-) Tôi đã sử dụng access-token được cung cấp bởi thông tin đăng nhập Facebook, nhưng có vẻ như mã được cung cấp bởi đối tượng đồ thị là khác nhau.
Bây giờ, như thế tôi thấy có mô hình này:
Darren thích đối tượng trên MyApp
Là nó thậm chí có thể có nó như
Darren thích MyAPP với liên kết tới trang ứng dụng Facebook?
Cảm ơn
Loại ứng dụng được đặt thành 'Gốc/Máy tính để bàn' trong cài đặt ứng dụng FB -> nâng cao -> xác thực? – borisdiakur
Vâng. Bây giờ tôi không nghĩ rằng điều này là có thể. Bạn có thể thích những thứ trong ứng dụng của mình, như một công thức trong ứng dụng công thức nhưng bạn không thể thích trang người hâm mộ, v.v. – Darren
Bạn đã đúng. [Docs] (https: //developers.facebook.com/docs/opengraph/actions/builtin/likes /) nói rằng các điều kiện sau phải đúng để xuất bản một hành động giống như được tích hợp sẵn: Nội dung trong ứng dụng có trang đối tượng Open Graph được đánh dấu đúng cách bằng Mở thẻ meta biểu đồ và người xem đã cố tình nhấp vào nút "nút thích" trong ứng dụng tùy chỉnh ** được liên kết với nội dung trong ứng dụng **. Tuy nhiên bạn luôn có thể chuyển hướng đến trang Facebook của bạn. – borisdiakur