Apple似乎没有关于如何在Apple News中为您的频道提取主图像的文档.
这个在这里:
我的网站上有og:图片标签+ apple-touch-icon元.我的RSS源中也有图像.它显示空白.
有任何想法吗?
我们正在为Apple News专门创建一个Feed,以便提交我们的新闻内容.
当然,在确保Feed符合RSS 2.0以确保它也符合Apple News后,我一直在查看提供的文档:
整个文档是有道理的,但有一件我无法找到任何澄清,我想我会联系社区寻求答案.
在"推荐的标签和属性"标题下,页面显示"为了获得最佳结果,请在每篇文章的HTML元素中包含这些标签(如果相关)."
这可能是一个愚蠢的问题,但它们是指RSS源中的头元素还是文章页面本身?
这是否意味着Apple将抓取Feed中的页面?
我问主要是因为他们谈论OG标签(我们已经实现),我找不到有关RSS feed中OG标签的相关文档.
我们现在在Apple News上设置了几个网站.对于我们网站的一半(在一个平台上构建),图像在95%的时间显示在文章列表视图中.我们网站的另一半在0%的时间内在文章列表中显示图像.
但是,图像可靠地显示在"文章视图"页面上.
使用的图像几乎肯定不是媒体缩略图标签中RSS提要中提供的图像; 它们几乎肯定会被文章本身所剥夺.在OG标签中正确设置了图像.
这种行为在iPad和iPhone之间是一致的.
任何想法都会受到欢迎.
我正在寻找能让我在Apple News文档中将一个项目放在其他项目前面的东西 - 相当于CSS中的z-index.我在文档中找不到任何似乎适用的内容.
我正在尝试将文章发布到apple news api.Apple指示执行以下操作:
创建请求的规范版本作为以下字节顺序连接:
HTTP方法(例如,GET或POST,全部大写)
请求的完整URL
ISO 8601格式的当前日期如果请求是POST请求且包含实体,请包括以下内容:
Content-Type标头的值
实体的全部内容
将API密钥的密钥从Base64解码为原始字节.使用HMAC SHA-256通过规范请求使用解码的API密钥秘密创建哈希.使用Base64对哈希进行编码.将Authorization标头设置为:
授权:HHMAC; 键=; 签名=; date = where是步骤1中的日期字符串.发送请求.
下面是我的c#代码
string path = "https://news-api.apple.com/channels/channelid/articles";
var httpWebRequest = (HttpWebRequest)WebRequest.Create(path);
httpWebRequest.ContentType = "multipart/form-data";
httpWebRequest.Method = "POST";
httpWebRequest.Accept = "application / json";
httpWebRequest.Host = "news-api.apple.com";
httpWebRequest.UseDefaultCredentials = true;
httpWebRequest.PreAuthenticate = true;
httpWebRequest.ProtocolVersion = HttpVersion.Version11;
httpWebRequest.KeepAlive = true;
string appleDate= String.Format("{0}Z", DateTime.UtcNow.ToString("s"));
string credentials = String.Format("{0}:{1}", "Content-Disposition", "form-data; ");
credentials += String.Format("{0}:{1}", "filename", "article.json; ");
credentials += String.Format("{0}:{1}", "name", "article.json; ");
credentials += String.Format("{0}:{1}", "Authorization", …Run Code Online (Sandbox Code Playgroud) 更新:下面的代码对我有用。希望它可以帮助某人找出他们的问题。
在遇到几个错误后,它有助于返回并查看 Apple News Developer 站点上所有可能的错误代码。查看代码中的特定错误编号并确定它可能有什么问题。
按照 Apple News Developer 网站上的示例进行操作。尽管它们含糊不清,但它们确实包含重要信息!
//set the timezone
date_default_timezone_set('UTC');
//get json to be sent
$raw = file_get_contents('article.json');
$eol = "\r\n";
$data = '';
$bound= '535e329ca936f79a19ac9a251f7d48f7';
$data='--'.$bound.$eol.
"Content-Type: application/json" . $eol.
"Content-Disposition: form-data; name=metadata" . $eol. $eol.
'{
"data": {
"isCandidateToBeFeatured": "false",
"isSponsored": false,
"isPreview": true
}
}' .$eol.
'--'.$bound.$eol.
"Content-Type: application/json" . $eol.
"Content-Disposition: form-data; filename=article.json; name=article.json".$eol.$eol.
$raw.$eol.
'--'.$bound.'--'.$eol.$eol;
//set variables
$http_method = 'POST';
$date = gmdate('Y-m-d\TH:i:s\Z');
$key = 'xxx';
$url = 'https://news-api.apple.com/channels/xxx/articles';
$secret …Run Code Online (Sandbox Code Playgroud)