2013-04-24 37 views
8

Tôi đang làm việc trên ứng dụng iPad và tôi cần tích hợp Instagram. Tôi tìm thấy một mẫu hoạt động tốt. Nhưng đến với ứng dụng của tôi, tôi đã đăng ký là người dùng mới trong tài khoản nhà phát triển instagram. Mặc dù tôi đang làm theo các bước như đã nói trong tài liệu API của Instagram, tôi gặp phải lỗi "URI chuyển hướng không khớp với URI chuyển hướng đã đăng ký"."URI chuyển hướng không khớp với URI chuyển hướng đã đăng ký" trong tích hợp instagram trong ứng dụng IOS

Ai đó có thể hướng dẫn tôi cách tạo URI chuyển hướng không?

Đây là những gì tôi đã làm trong Instagram. enter image description here

Và trong mô phỏng của tôi tôi nhận được lỗi này:

enter image description here

+0

Có thể bạn nhập sai URL chuyển hướng của mình hoặc "/" có thể có tác động, hãy cẩn thận với các ký hiệu đặc biệt cũng như khoảng trắng trong chuỗi. –

Trả lời

21

Sử dụng REDIRECT URI: igeb6240d263fb4736b3740af87edd18ea: // ủy quyền
cho ứng dụng của bạn

REDIRECT URI nên là: "ig "+" clientId "+": // ủy quyền "

+6

Điều này không có tác dụng bởi vì tôi không thể nhập không http/https redirect_uri trong cổng thông tin dành cho nhà phát triển Instagram và Instagram từ chối bất kỳ redirect_uris chưa đăng ký nào. – Eonil

+3

@Sujal Url này không được chấp nhận trên cổng thông tin dành cho nhà phát triển ("ig" + "clientId" + ": // ủy quyền") URL chính xác mà chúng tôi cần thêm vào cổng thông tin Dev của Instagram – Rajesh

+0

@Sujal Instagram cổng thông tin đăng ký khách hàng không không chấp nhận giao thức không phải http. Chúng tôi không thể nhập myapp: // ủy quyền. Tôi đã cố gắng kích hoạt chế độ ngầm định bằng cách bỏ chọn Vô hiệu hóa ẩn OAuth trong tab Bảo mật trong cổng. Nhưng nó vẫn không chấp nhận không phải http (s). Bạn đã quản lý nó như thế nào? –

4

Bạn có thể sử dụng bất kỳ thứ gì bạn muốn làm URI chuyển hướng của mình. Bạn phải chuyển URI chuyển hướng dưới dạng tham số Nhận trong yêu cầu ủy quyền của bạn.

Đảm bảo cả hai khớp với nhau! Bạn có thể điều hướng đến các thư mục con hoặc thêm các tham số bổ sung vào thư mục con, nhưng phần đầu của nó phải giữ nguyên.

Tôi khuyên bạn không nên sử dụng trang web của mình, nhưng để liên kết với một trong các sơ đồ url ứng dụng của bạn. Để biết hướng dẫn về cách thiết lập những điều đó, hãy xem tại đây: http://www.idev101.com/code/Objective-C/custom_url_schemes.html

Vì vậy, ví dụ: bạn có thể sử dụng myapp:// làm URI chuyển hướng mặc định của mình.

Bên trong ứng dụng của bạn, bạn có thể thêm thông số bổ sung vào ứng dụng. Instagram sẽ chuyển những thứ đó cho URI chuyển hướng của bạn, vì vậy bạn có thể đọc lại chúng trong AppDelegate hoặc trên Máy chủ của bạn. Đảm bảo bạn mã hóa URI chuyển hướng một cách chính xác. Cách đơn giản nhất để làm điều này sẽ là:

NSString *unescaped = [NSString stringWithFormat:@"myapp://?someparameter=%@",theparametersvalue]; 
NSString *redirectURI = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(
                     NULL, 
                     (__bridge CFStringRef) unescaped, 
                     NULL, 
                     CFSTR("!*'();:@&=+$,/?%#[]"), 
                     kCFStringEncodingUTF8)); 

Bây giờ chèn redirectURI cùng với id khách hàng của bạn vào URL này và bắn ra các yêu cầu:

https://api.instagram.com/oauth/authorize/?client_id=YOURCLIENTID&redirect_uri=YOURREDIRECTURI&response_type=code 

Nếu bạn cần nhiều hơn các điều khoản cơ bản, kiểm tra trong phạm vi tài liệu.

+2

Bạn chỉ có thể đăng ký http: // và https: // URI trong cổng thông tin Instagram nên tôi không thấy cách này có thể hoạt động ... – Zigglzworth

Các vấn đề liên quan