问题标签 [apple-music]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1181 浏览

ios - Apple 的 MusicKit SDK 遇到问题

我正在尝试使用 Xcode 9.0 beta 中的新 MusicKit 创建一个应用程序。我已经下载了 Apple 提供的示例应用程序并替换了代码中的所有值,例如店面和开发人员令牌。我已经创建了我的开发者令牌,并且我知道它可以工作,因为我已经使用 Apple Music API 对其进行了测试,并且我得到了积极的结果。但是,当我运行示例应用程序时,似乎在 requestUserToken() 函数中出现错误。确切的错误是An error occurred when requesting user token: The operation couldn’t be completed. (SKErrorDomain error 1.)

如果有人在 Apple MusicKit SDK 中成功获取了用户令牌,请告诉我。

0 投票
2 回答
253 浏览

ios - StoreKit - requestPersonalizationToken 的 clientToken 格式?

在稀疏的Apple StoreKit 文档中,它提到使用 a从设备clientToken请求 apersonalizationToken通过requestPersonalizationToken.

没有随附的文档来描述此令牌应该是什么。我曾假设它应该采用开发人员JWT令牌的形式,但这似乎不起作用,并SKErrorDomain code 8通过nil令牌响应给出错误。

我知道该令牌适用于对音乐 API 的常规调用,因此假设它具有正确的developerToken.

我知道 ApplerequestUserTokenForDeveloperToken直到今年晚些时候才会发放代币,但假设这requestPersonalizationToken是 iOS 11 发布之前的当前(尽管已经弃用)方法。

0 投票
0 回答
196 浏览

ios - MusicKit - 个人评级删除/更新请求获得 HTTP 501

我可以从 API 中获取用户对歌曲的评分,如下所示。当 API 返回成功响应时,我了解我的开发人员令牌和用户令牌格式正确且有效。

但是,当我尝试删除评级或设置它时,API 返回 HTTP 501。

要删除用户评分,我将按照 API文档中的说明发送 HTTP DELETE :

要将评级设置为不同的值,我使用带有 JSON 有效负载的 HTTP PUT,如文档中所述:

HTML 响应将 URL 转储为 HTTP,但我验证我的初始请求是 HTTPS。

有没有人执行这些请求没有问题?

提前致谢。

更新:截至 2017 年 7 月 12 日,API 正在返回记录在案的响应。我猜这是 API 方面的错误,现在已修复。

0 投票
0 回答
761 浏览

ios - 无法使用 MPMusicPlayerController 在 Apple Music 上播放歌曲

我有一个要求,我需要在应用程序中搜索和播放歌曲,所以我在我的应用程序中使用iTunes Search API来播放歌曲,但它无法播放。

请从 iTunes 搜索 API 中找到请求和响应参数。

我正在使用trackId并将其传递给setQueueWithStoreIDs.MPMusicPlayerController

注意:我也尝试过previewUrltrackViewUrlcollectionIdcollectionViewUrl但没有成功。

我还完成了检查设备播放Apple Music歌曲的授权和功能的过程。

请找到下面的完整代码。

播放歌曲时出错。

错误域=MPErrorDomain 代码=4“(空)”

请指导我需要什么实施以及这是否可行。

从下面的链接下载应用程序的源代码。 https://www.dropbox.com/s/2n5110qmaqpvkdf/TestAppleMusic.zip?dl=0

0 投票
1 回答
184 浏览

ios - 从 iTunes 获取最近的播放列表

我需要我们从苹果音乐或 iPhone 上的 iTunes 播放的最近播放列表。所以,如果有人有演示、链接或教程,请与我分享。我正在关注“ https://developer.apple.com/library/content/documentation/NetworkingInternetWeb/Conceptual/AppleMusicWebServicesReference/GetRecentlyPlayed.html#//apple_ref/doc/uid/TP40017625-CH62-SW1 ”但无法创建“音乐用户令牌”来自商店工具包。请帮我。

0 投票
2 回答
3597 浏览

ios - 如何在 iOS 之外创建 Apple Music 用户令牌

我试图让人们从网页上喜欢 Apple Music 上的曲目、专辑或播放列表。

我了解此页面上的手册: https ://developer.apple.com/library/content/documentation/NetworkingInternetWeb/Conceptual/AppleMusicWebServicesReference/SetUpWebServices.html

直到我遇到应该requestUserToken(forDeveloperToken:completionHandler:)在 StoreKit 框架中使用 SKCloudServiceController 方法的部分,因为在 iOS/macOS/tvOS/etc 之外没有可用的 StoreKit 框架。

这个令牌是如何生成的?有没有其他方法可以手动生成这个音乐用户令牌?

我知道这是一个(非常)远景,但也许有人想出来了!

0 投票
1 回答
2944 浏览

apple-music - Apple MusicKit - 通过 Apple Music API 创建和编辑播放列表

我最近一直在使用新的 Apple MusicKit 功能。我有一个Developer Token并且Music-User-Token可以运行 Apple 提供的测试代码。

我想尝试做更多的事情,但文档似乎没有涵盖它。

据我所知(目前),用户令牌用于编辑专辑评分等内容,歌曲等

来源:https ://developer.apple.com/library/content/documentation/NetworkingInternetWeb/Conceptual/AppleMusicWebServicesReference/RateaAlbum.html#//apple_ref/doc/uid/TP40017625-CH78-SW1

问题一:

我想做的是创建一个播放列表(通过这个 API 而不是原生的 Objective-C/Swift)代码。

使用本机代码,播放列表 ID 是 GUID,但此 ID 似乎与播放列表的 Apple API ID 无关(格式化pl.u-[uniquereference]

问题2:

我还想检索我的播放列表列表。

有没有人这样做过?甚至可能吗?

0 投票
0 回答
235 浏览

ios - MPMediaPlaylist - 删除歌曲

是否可以从MPMediaPlaylist播放列表中删除歌曲?

我有能力得到一个列表中的所有歌曲:

我可以用给定的循环遍历这个productID并删除该项目吗?

0 投票
1 回答
224 浏览

ios - 未从 Apple Music 获取播放列表名称

我想获得播放列表名称,但它给出了 Mpconcreteitem 的值。

0 投票
2 回答
989 浏览

ios - Apple Music Kit - 为店面 B 的用户播放店面 A 中用户的 ID 歌曲

如果我在美国,我想播放两门电影俱乐部的歌曲“Sun”,我会使用 ID 544390857。我可以在(例如)中执行此操作,systemMusicPlayer并且歌曲开始在 Apple Music 中播放。

如果我的朋友在英国并且想要播放同一首歌曲,发送544390857到 systemMusicPlayer 会导致歌曲无法被识别(并且没有播放)。

该歌曲的 GB 店面等效 ID 是674900368.

我有两个问题:

  • 有没有一种简单的方法可以让我从 Apple Music 中的另一个店面播放 ID(使用 systemMusicPlayer),还是我必须在新的第二个店面 ID 下重复搜索?

  • 或者,有没有一种方法可以获取一个歌曲 ID(即美国的)并将其换成另一个(即 GB)的 ID?

谢谢你提供的所有帮助!