「Google以外のサービス」に関するドキュメントに続いてOAuthリクエストを設定しましたが、これは90%の成功を収めています。アプリは、私は私のアプリのための正しいアクセストークンを使用してInstagramのとスコープの要求を受け入れるためにログインすることができ、ウェブビューが表示されますが、私は、私は次のエラーを取得する要求を受け付けた後:Instagramにgtm-oauth2を使用したOAuthが失敗しました
Error Error Domain=com.google.HTTPStatus Code=400 "The operation couldn’t be completed.
(com.google.HTTPStatus error 400.)" UserInfo=0x6b7ab00 {data=<7b22636f 6465223a 20343030 2c202265 72726f72 5f747970 65223a20 224f4175 74684578 63657074 696f6e22 2c202265 72726f72 5f6d6573 73616765 223a2022 596f7520 6d757374 20696e63 6c756465 20612076 616c6964 20636c69 656e745f 69642c20 20202020 20202020 20202020 72657370 6f6e7365 5f747970 652c2061 6e642072 65646972 6563745f 75726920 70617261 6d657465 7273227d>}
Error data:
{
code = 400;
"error_message" = "You must include a valid client_id, response_type, and redirect_uri parameters";
"error_type" = OAuthException;
}
これは、コントローラのように思えますapi.instagram.comではなくgoogle.comに対してOAuthトランザクションを完了しようとしています。ここで
を設定し、コントローラを呼び出すために、私のObjective-Cのコードです:
static NSString *const kKeychainItemName = @"Instagram OAuth2";
static NSString *const kClientID = @"xxxxxxxxx"; // Removed for security
static NSString *const kClientSecret = @"xxxxxxxxx"; // Removed for security
static NSString *const authURLString = @"https://api.instagram.com/oauth/authorize/";
static NSString *const tokenURLString = @"https://api.instagram.com/oauth/authorize/";
static NSString *const redirectURI = @"http://google.com/NeverGonnaFindMe/";
...
NSURL *tokenURL = [NSURL URLWithString:tokenURLString];
// Set up the OAuth request
GTMOAuth2Authentication *auth = [GTMOAuth2Authentication
authenticationWithServiceProvider:@"Instagram API"
tokenURL:tokenURL
redirectURI:redirectURI
clientID:kClientID
clientSecret:kClientSecret
];
// Specify the appropriate scope string, if any, according to the service's API documentation
auth.scope = @"basic likes comments relationships";
NSURL *authURL = [NSURL URLWithString:authURLString];
// Display the authentication view
GTMOAuth2ViewControllerTouch *viewController = [[GTMOAuth2ViewControllerTouch alloc]
initWithAuthentication:auth
authorizationURL:authURL
keychainItemName:kKeychainItemName
delegate:self
finishedSelector:@selector(viewController:finishedWithAuth:error:)
];
// Capture the Cookie to delete later
viewController.browserCookiesURL = [NSURL URLWithString:@"instagram.com/"];
// Now push our sign-in view
[[self navigationController] pushViewController:viewController animated:YES];
ちょっと私とplz plz plzの例を共有できますか? – Hiren
私は自分のブログに例を掲載しました[http://ifjoshrantheworld.com/instagram-oauth-login-for-ios-objective-c](http://ifjoshrantheworld.com/instagram-oauth-login-for-ios- objective-c) – JoshOiknine
こんにちはジョシュ私は正常にログインしてもaccesstokenを取得するが、私はあなたが私を助けることができるinstagramの画像を共有する方法を知らない? – Hiren