对 Instagram 帖子方法进行签名 API 调用以关注用户、点赞用户的图像等。用户每小时的关注次数限制为 20 次。但如果我们进行签名 API 调用,那么用户每小时可以进行 60 次关注。但我的问题是如何进行签名 API 调用。 ?
我尝试了 Instagram 上描述的这种方法http://instagram.com/developer/restrict-api-requests/ http://instagram.com/developer/restrict-api-requests/并启用强制标头。并发送X-Insta-Forwarded-For
具有有效 ID 的标头字段。但在 20 次关注后仍然显示限制错误。任何人都可以帮助我如何进行签名 API 调用。
提前致谢。
在搜索了我的问题后,通过制作我的应用程序签名应用程序解决了我的问题:
要为 Instagram 用户进行签名 API 调用,需要选中其 insta 应用程序中的两个复选框。在管理客户下。并且必须遵循隐式 OAuth 授权流程 http://instagram.com/developer/authentication/.
对于所有关注/点赞帖子类型请求,用户需要添加一个标头:
类型为
X-Insta-Forwarded-For
-> [IP information]|[Signature]
IP 应该是应用程序负载均衡器检测到的客户端远程 IP;
签名为 ,应用具有 SHA256 的 HMAC,并在此处附加签名的十六进制表示形式。上IP address
作为数据使用您的clientSecret
作为关键。
然后使用管道连接IP信息和签名|
并将其设置为标头字段的值。
我使用以下代码来生成签名:
-(NSString *)signWithKey:(NSString *)key usingData:(NSString *)data
{
const char *cKey = [key cStringUsingEncoding:NSASCIIStringEncoding];
const char *cData = [data cStringUsingEncoding:NSASCIIStringEncoding];
unsigned char cHMAC[CC_SHA256_DIGEST_LENGTH];
CCHmac(kCCHmacAlgSHA256, cKey, strlen(cKey), cData, strlen(cData), cHMAC);
NSData *HMAC = [[NSData alloc] initWithBytes:cHMAC length:sizeof(cHMAC)];
return [[HMAC.description stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"<>"]] stringByReplacingOccurrencesOfString:@" " withString:@""];
}
-(NSString*)getheaderData
{
NSString *ipString = [self fetchMyIP];
NSString *signature = [self signWithKey:kClientSecret usingData:ipString];
}
To set header in iOS: [request setValue:[self getheaderData] forHTTPHeaderField:@"X-Insta-Forwarded-For"];
因此 API 调用将作为签名 API 调用发送。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)